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檔案。
點選“保護它”,加密成功。
相關文章
- 如何保護Java程式 防止Java反編譯Java編譯
- 利用classfinal-maven-plugin對jar進行加密,防止反編譯MavenPluginJAR加密編譯
- ecplise配置jad反編譯.class檔案編譯
- SpringBoot自定義classloader加密保護class檔案Spring Boot加密
- Cython加密python程式碼防止反編譯加密Python編譯
- Java Jar 包加密 -- XJarJavaJAR加密
- Java Jar原始碼反編譯工具那家強JavaJAR原始碼編譯
- 如何將一個Java檔案編譯成classJava編譯
- ClassPlaceholder外掛:動態修改jar包class檔案JAR
- 安卓apk檔案反編譯安卓APK編譯
- Android 安全之如何反編譯與加密apk包Android編譯加密APK
- Android安全之如何反編譯與加密apk包Android編譯加密APK
- Java 原始碼編譯成 Class 檔案的過程分析Java原始碼編譯
- win/mac下反編譯Android安裝包-APK檔案Mac編譯AndroidAPK
- 一些防止java程式碼被反編譯的方法Java編譯
- Java編譯與反編譯Java編譯
- .NET應用如何防止被反編譯編譯
- android 防止反編譯的若干方法Android編譯
- 直接修改別人jar包裡面的class檔案 工具:jclasslibJAR
- Java Maven配置pom.xml build保證所有指定檔案必定會被編譯打包 防止打包失敗JavaMavenXMLUI編譯
- J2SE - Java命令執行class和jar檔案JavaJAR
- 修改jar包內的classJAR
- 程式碼混淆防止APP被反編譯指南APP編譯
- java反編譯工具Java編譯
- k8s Java 專案替換 jar 中的 class 檔案K8SJavaJAR
- jar檔案could not find the main class解決JARAI
- Reflector反編譯.NET檔案後修復編譯
- 自定義一個gradle外掛動態修改jar包Class檔案GradleJAR
- [轉]andriod的apk檔案相關的編譯反編譯工具APK編譯
- 企業檔案加密:資料保護的實戰策略加密
- 防止用DeDe軟體反編譯delphi程式 (轉)編譯
- apk 包的破解與反編譯APK編譯
- Java反編譯器剖析Java編譯
- linux替換jar裡面的class檔案LinuxJAR
- Java 反彙編、反編譯、volitale解讀Java編譯
- ildasm、ilasm修改、反編譯 已經編譯的 dll檔案(c#)LDAASM編譯C#
- 使用ilasm 和 ildasm編譯和反編譯工具對DLL檔案修改ASMLDA編譯
- Reflector反編譯.NET檔案後修復【轉】編譯