最好的java反編譯工具是哪個?
很高興回答你的問題
大多商業軟件,會對程序進行加密、加殼等安全措施以防范軟件被破解,從而使得反編譯越來越難。反編譯是一個對目標可執行程序進行逆向分析,從而得到源代碼的過程。尤其是像Java這樣的運行在虛擬機上的編程語言,更容易進行反編譯得到源代碼。
我們知道,在代碼支撐方面,JDK 1.7引入了字符串Switch、泛型接口改進等新功能,1.8增加了lambda表達式、方法傳遞、多重注解等新特性,這使得反編譯工具的編寫難度加大。今天我們盤點一下目前仍然可用的、相對功能很強大的Java反編譯工具(Eclipse插件不做評價),比較老的反編譯工具很難支持Java8及其以上版本。
Java 反編譯器 JD-GUIJD-GUI 是一個用 C++ 開發的 Java 反編譯工具,由 Pavel Kouznetsov開發,支持Windows、Linux和蘋果Mac Os三個平臺。而且提供了Eclipse平臺下的插件JD-Eclipse、IntelliJ的插件JD-IntelliJ。JD-GUI不需要安裝,直接點擊運行,可以反編譯jar,class文件。
Java 反編譯器 procyon-decompiler及其window下獨立UI工具luytenProcyon-Decompiler支持JDK1.8類的反編譯,在很多方面做得非常不錯,如反編譯匿名類、內部類、Java8 Lambda等等。Procyon-Decompiler支持JDK1.8類的反編譯,在很多方面做得非常不錯:字符串的Switch、枚舉聲明方面、注解方面、匿名類、內部類、Java8新接口規范、Java8 Lambda表達式、Java8 方法傳遞等。
luyten是Procyon的GUI,是一款操作簡單、功能實用的java反編譯工具,軟件支持*.JAR、*.zip、*.class等類型文件的反編譯操作,還原度非常高,支持更多功能設置,如顯式導入、類型、合成組件等等,用戶可根據不同的需求選擇合適的顯示項目,結果更明了。
總結JD-GUI打開jar文件反編譯速度飛快、luyten次之。都會遇到反編譯不出來的情況,建議配合使用。