資源簡介
眾所周知,Java編譯后的Jar包和Class文件,可以輕而易舉的使用反編譯工具(如JD-GUI)進行反編譯,拿到源碼。為了保護自己發布的Jar包和Class文件,采用的方式大多是混淆方式,這種方式對于Class文件的加密是不徹底的,還是能夠通過分析得出核心算法。本工具是采用jvmti方式對Class文件進行加密,使用C++生成加密和解密庫,先用加密庫對Jar包進行加密,將加密后的Jar包及解密庫文件發布出去,執行時候需要JVM引入解密庫文件,解密后執行。c++的.dll文件和.so文件的破解難度是很大的,這就能有效的保護軟件和代碼的知識產權.
使用方法:
1.打開windows命令行(運行=>cmd=>回車),在命令行中 進入 EncryptJar目錄
2.執行 java -jar encrypt.jar
3.輸入h,然后回車,可以看到幫助菜單
4.輸入3,然后按回車鍵,進入加入jar文件功能
5.輸入要加密的jar文件的路徑
6.提示輸入秘鑰(key)的時候,直接回車,不要輸入任何字符(否則后面classhook將不可解密加密后的jar包)
7.輸入目標路徑(加密后的jar文件路徑,此處要注意:jar文件名要保持相同,將加密后的文件保存到不同的目錄)
8.將加密后的jar包,替換原來的沒有加密的jar包,與要發布的程序一起進行發布.(一般替換lib目錄下對應的jar包即可)
9.加密后的jar包運行方法:
windows下:
拷貝libClassHook.dll文件到程序的根目錄(通常為要執行的jar程序的根目錄)
使用以下命令啟動程序:
java -agentlib:libClassHook -jar xxxxxxxxxxx.jar
則在運行過程中會自動進行解密操作(解密過程是運行過程中用c++的dll進行解密的,可以有效防止破解class文件)
如果執行過程報錯,可將程序根目錄添加到環境變量path中去
Linux下:
拷貝libClassHook.so到程序的根目錄(通常為要執行的jar程序的根目錄)
使用以下命令啟動程序:
java -agentlib:ClassHook -jar xxxxxxxxxxx.jar (這里要刪除掉lib,linux系統下會自動補全)
則在運行過程中會自動進行解密操作(解密過程是運行過程中用c++的dll進行解密的,可以有效防止破解class文件)
如果執行過程報錯,可以在程序根目錄下執行以下語句:export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH 或將libClassHook.so
拷貝到/usr/lib目錄中去。
支持操作系統:加密請在windows64位系統并安裝了64位jdk環境下進行。
需要解密運行的程序支持LINUX(64位)和windows(64位)安裝了JDK1.8以上的系統。
測試程序: (t_lib目錄下的jar包為經過加密的jar包)
java -agentlib:libClassHook -jar test.jar

代碼片段和文件信息
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????23478??2019-03-02?18:49??libClassHook.so
?????文件???????1745??2019-03-02?22:28??readme.txt
?????文件???????1976??2019-03-02?15:10??test.jar
?????文件???????1407??2019-03-02?14:38??t_lib\jiamiqian.jar
?????文件??????75031??2019-03-02?21:58??encrypt.dll
?????文件??????16424??2019-03-02?21:49??encrypt.jar
?????文件??????93716??2019-03-02?18:49??libClassHook.dll
?????目錄??????????0??2019-03-02?18:43??t_lib
-----------?---------??----------?-----??----
???????????????213777????????????????????8
-----------?---------??----------?-----??----
?????文件??????23478??2019-03-02?18:49??libClassHook.so
?????文件???????1745??2019-03-02?22:28??readme.txt
?????文件???????1976??2019-03-02?15:10??test.jar
?????文件???????1407??2019-03-02?14:38??t_lib\jiamiqian.jar
?????文件??????75031??2019-03-02?21:58??encrypt.dll
?????文件??????16424??2019-03-02?21:49??encrypt.jar
?????文件??????93716??2019-03-02?18:49??libClassHook.dll
?????目錄??????????0??2019-03-02?18:43??t_lib
-----------?---------??----------?-----??----
???????????????213777????????????????????8
- 上一篇:java做圖書管理系統
- 下一篇:詞法分析器(java版有UI界面).zip
評論
共有 條評論