java的jar包加密


由於項目要求(雖然我覺得代碼沒什么機密可言...),寫好的jar包需要做一定加密處理

這里提供兩種辦法,一種奇葩,一種通用

1. 直接修改jar文件:

具體步驟:

  在代碼中插入一段不會運行的到的代碼

1     private class Invalid{
2         private Invalid() {
3             
4         }
5     }

 

  使用eclipse打包文件,右鍵export > java > JAR file > finish

  使用解壓軟件打開jar包。記事本打開...$Invalid.class文件,去掉里面的d

  # 最好另存外面,然后把里面的刪了再拖進來,貌似不能直接保存

加密效果:

  好像解壓后class文件仍舊可以破解

方法缺陷:

  如上

2.使用Proguard混亂工具

具體步驟:

  下載Proguard

  推薦下載5.X版本,和java8更兼容,而4.X版本和java7兼容   

  # 不然會出現Unsupported class version number [52.0] 的錯誤

  可以在CSDN上下載(http://download.csdn.net/download/kong_gu_you_lan/9637131)

  # 因為下這個做了好久的獎賞任務。。有個是郵箱驗證成功出來的兩個字是什么,直接填了“登錄”,哈哈

  下載后解壓,點開Proguard5.X>bin>proguardgui.bat

  使用Proguard

  左側input/output,在右邊add input添加需要加密jar包,add output自己命名一個導出jar包,下方的library中,有一個默認的rt.jar,如果沒有引入什么自定義jar文件,直接這個默認就好

  左側obfuscation,選擇圖中這幾項即可,其中第2、3個勾勾對應的文件a.txt是混淆函數名,b.txt是混淆類名

  # 其實就是瞎編幾個類名和函數名,一個名字占一行

  

   左側Shrinking,最上面的Shrink去掉

  # 不然會如下報錯,The output jar is empty. Did you specify the proper '-keep' options?

  其他默認,點擊左側Process > Process 加密完成

加密效果:

  還可以

方法缺陷:

  無法對抗功能更加強大的反編譯軟件

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM