java加密保護jar包及class檔案,防止反編譯
Java 開發語言以其安全性高、程式碼優化、跨平臺等特性,迅速取代了很多傳統高階語言,佔據了企業級網路應用開發等諸多領域的霸主地位。特別是近年來大資料、網際網路+、雲端計算技術的不斷髮展,Java 開發語言更具有不可替代的地位。
不過,Java 最突出的跨平臺優勢使其要以中間程式碼的形式執行在虛擬機器環境中,因此 Java 程式碼反編譯要比其他開發語言更容易實現,並且反編譯的程式碼經過優化後幾乎可與原始碼相媲美。為了避免出這種情況,保護軟體智慧財產權,有一種叫做 Java 混淆器的工具被開發出來。
但 Java 混淆器的作用是對編譯好的程式碼進行混淆,使得反編譯後的程式碼混亂難懂,真正起的作用只是增加了逆向工程的難度,最終結果也是治標不治本,對於一些掌握工具的人來說幾乎還是透明的。另外由於 Java 程式中會有多重對映關係,因此大多數混淆工具的相容性會很差。
推薦一種加殼工具保護jar包的方式—Virbox Protector
目前有兩個版本可選擇。
第一個是帶許可版本,加殼時與許可繫結,加密後的軟體需要有許可授權才能開啟使用。
第二個是獨立版加殼,只做加殼的處理,加密後的軟體直接可交付使用。
下面是獨立版Virbox Protector加殼工具對jar包的加密流程。
1、部署專案並啟動服務
專案放在 webapps 目錄下,先啟動 tomcat 服務確認能正常啟動,啟動過後該 War 包會自動解壓出一個同名的資料夾

啟動 tomcat 服務

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

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

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

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

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

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

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


點選“保護它”,加密成功。
相關文章
- 利用classfinal-maven-plugin對jar進行加密,防止反編譯MavenPluginJAR加密編譯
- SpringBoot自定義classloader加密保護class檔案Spring Boot加密
- ecplise配置jad反編譯.class檔案編譯
- Cython加密python程式碼防止反編譯加密Python編譯
- 如何將一個Java檔案編譯成classJava編譯
- Java Jar原始碼反編譯工具那家強JavaJAR原始碼編譯
- ClassPlaceholder外掛:動態修改jar包class檔案JAR
- Java Jar 包加密 -- XJarJavaJAR加密
- Java編譯與反編譯Java編譯
- J2SE - Java命令執行class和jar檔案JavaJAR
- .NET應用如何防止被反編譯編譯
- 自定義一個gradle外掛動態修改jar包Class檔案GradleJAR
- k8s Java 專案替換 jar 中的 class 檔案K8SJavaJAR
- Java Maven配置pom.xml build保證所有指定檔案必定會被編譯打包 防止打包失敗JavaMavenXMLUI編譯
- linux替換jar裡面的class檔案LinuxJAR
- 修改jar包內的classJAR
- 程式碼混淆防止APP被反編譯指南APP編譯
- java反編譯工具Java編譯
- Java 反彙編、反編譯、volitale解讀Java編譯
- java class檔案解析Java
- 使用ilasm 和 ildasm編譯和反編譯工具對DLL檔案修改ASMLDA編譯
- 企業檔案加密:資料保護的實戰策略加密
- 使用Reflector和Filedisassembler逆向編譯反編譯.cs.dll檔案程式碼編譯
- Java 如何打增量 jar 包【修改部分檔案不需全部打包】JavaJAR
- c#寫的軟體如何防止被反編譯C#編譯
- java class檔案詳解Java
- java class 檔案格式解析Java
- APK編譯及安全防護APK編譯
- TypeScript 編譯 classTypeScript編譯
- Springboot 獲取jar包中的檔案Spring BootJAR
- 深入Jar包:Gradle構建可執行jar包與訪問jar包中資料夾與檔案JARGradle
- 實用的jar包加密方案JAR加密
- java-jar啟動jar包JavaJAR
- java修改jar包JavaJAR
- Java程式碼的編譯與反編譯那些事兒Java編譯
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- 在pom檔案中新增jar包的方法JAR
- java中的JAR檔案淺析JavaJAR