如何防止java代碼被反編譯


目前網上通用有幾種方法:

  1. 直接屏蔽用戶訪問到程序代碼(人為上,物理上)
  2. 程序封裝,避免以jar包、war包的方式啟動
  3. java類文件加密
  4.  java類文件混淆

1、程序封裝

  windows部署,可以把jar包打包成exe文件,這樣屏蔽了jar包直接暴露出來。網上有一些jar-to-exe的工具

  Linux部署,可以將jar包啟動,配置成服務,用服務啟動

2、java類文件加密

  這種是指,將類文件的內容通過加密,可以導致類文件無法被正常反編譯。並且當加載類文件前,需要將類文件解密。

  • 將打包后的類文件,通過加密方法加密
  • 自定義classLoader,重寫類加載方法,讀取類文件內容后,先解密,再加載

3、代碼混淆

  代碼混淆是指,將程序類名、方法名、變量名等,進行重命名成隨機的字符。這樣反編譯后的結果,你看到的代碼可能是:類似a、b、c這樣的代碼,沒有可讀性。

  這樣及時反編譯成功了,也不能很方便的看懂代碼的意義。從而達到目的。即使要看懂,也要花費很多時間。


免責聲明!

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



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