java加密保護jar包及class檔案,防止反編譯

加密666發表於2018-11-14

Java 開發語言以其安全性高、程式碼優化、跨平臺等特性,迅速取代了很多傳統高階語言,佔據了企業級網路應用開發等諸多領域的霸主地位。特別是近年來大資料、網際網路+、雲端計算技術的不斷髮展,Java 開發語言更具有不可替代的地位。

不過,Java 最突出的跨平臺優勢使其要以中間程式碼的形式執行在虛擬機器環境中,因此 Java 程式碼反編譯要比其他開發語言更容易實現,並且反編譯的程式碼經過優化後幾乎可與原始碼相媲美。為了避免出這種情況,保護軟體智慧財產權,有一種叫做 Java 混淆器的工具被開發出來。

但 Java 混淆器的作用是對編譯好的程式碼進行混淆,使得反編譯後的程式碼混亂難懂,真正起的作用只是增加了逆向工程的難度,最終結果也是治標不治本,對於一些掌握工具的人來說幾乎還是透明的。另外由於 Java 程式中會有多重對映關係,因此大多數混淆工具的相容性會很差。

推薦一種加殼工具保護jar包的方式—Virbox Protector

目前有兩個版本可選擇。

第一個是帶許可版本,加殼時與許可繫結,加密後的軟體需要有許可授權才能開啟使用。

第二個是獨立版加殼,只做加殼的處理,加密後的軟體直接可交付使用。

下面是獨立版Virbox Protector加殼工具對jar包的加密流程。

1、部署專案並啟動服務

專案放在 webapps 目錄下,先啟動 tomcat 服務確認能正常啟動,啟動過後該 War 包會自動解壓出一個同名的資料夾

1240

啟動 tomcat 服務

1240

找到依賴的直譯器

服務啟動成功後,進入工作管理員-服務-找到目前執行專案所依賴的 jdk , 進入目錄找到對應程式 進行加密。 如下圖

1240

2、對.jar或者.class檔案進行加密

①首先對安裝環境 jdk 路徑下的 java.exe 進行加密,將 java.exe 拖入到加殼工具Virbox Protector Standalone中。

1240

②在加密選項頁面將外掛的ds按鈕開啟。

1240

③點選“立即加殼”,加殼後會額外生成圖示兩個檔案。

1240

java.exe.ssp 是配置檔案,在後面對 .class/.jar加密時會用到;java.ssp.exe 是加殼後的 java.exe 檔案,將 java.exe 剪下到其他資料夾備份,java.ssp.exe 名字改為java.exe 即可。

④開啟“DSProtector.exe”對 .class/.jar進行保護。

1240

新增上一步加密 java.exe 生成的 java.exe.ssp 檔案。

1240

新增要加密的.class/.jar檔案。

1240
1240

點選“保護它”,加密成功。


相關文章