java decompiler插件_Java反編譯利器-Jad, Jode, Java Decompiler等及其IDE插件

安奇
2023-12-01

對於長年使用Java的程序員,大部分應該都會或多或少的使用到反編譯軟件。畢竟,不可能你所使用到的每一個包都會提供完善的javadoc,而且,有時候代碼比javadoc更容易理解。這里將講述筆者所了解的一些反編譯軟件以及它們各自的IDE插件版。

簡介

現在業內的反編譯軟件據說有幾十種。其中有jad,以及基於jad而開發的其他反編譯軟件(Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI’s Java Class Viewer和國產的小穎JAVA源代碼反編譯專家);還有jode,以及以jode為核心開發的JCavaj Java Decompiler、BTJ (Back To Java)、jEdit’s JavaInsight plugin);還有DAVA等,以及當前筆者最推崇的Java Decompiler。

在這些反編譯軟件中,筆者使用過jad,jode,Java Decompiler以及基於這些軟件開發的其他軟件如Cavaj,小穎等,還有這些軟件的eclipse插件版。

其中,jad是一個使用VC++開發的著名反編譯引擎,性能非常快;jode是一個使用java開發的開源的反編譯引擎,而Java Decompiler似乎也是java開發的反編譯軟件,並且這三款軟件都有相應的eclipse插件版。

使用效果對比

筆者在eclipse中使用了以上三款軟件。

使用環境為:eclipse Galileo,jad 1.5.8g + jadclipse 3.3.0,jodeEclipse 1.0.6,JD-Eclipse 0.1.3。

試用結果如下:

反編譯性能: jad == jode > Java Decompiler

反編譯品質:Java Decompiler > jode >= jad

從速度方面來看,你會明顯的感覺到Java Decompiler比較的慢,總是以慢一拍的速度展示反編譯后的代碼;而jode和jad都表現的非常高速,接近於打開源代碼的速度。

從反編譯的品質來看,無疑是Java Decompiler最好。最根本的原因就是,jad和jode的最新版都是在JDK 5.0出來以前發布的,所以對JDK 5.0及以上版本的特性基本上不支持。之所以認為jode的反編譯效果比jad好,是因為jad的eclipse插件不怎么好用,自己添加的jar包有時候不能反編譯出來。

插件的使用

插件的使用方面,需要稍微的注意一下。

jode和JD-Eclipse都是直接安裝好就可以使用;而jad則需要另外指定jad.exe的路徑,可以把jad.exe文件放到“%JAVA_HOME%/bin”目錄下,然后在eclipse中按照以下順序找到jad的設置窗口,Window -> Preferences, 打開Preferences窗口,然后依次選擇 Java -> JadClipse,確保"Path to decompiler:"的值為"jad.exe"。

其中,jad和jode還有一些別的IDE的插件版,有需要的話,可以到sourceforge上去搜索。

總結

如果使用的是JDK 5.0及以上,請使用Java Decompiler,畢竟效果才是最重要的。如果使用的是JDK 1.4的話,還是建議使用jode,如果不在eclipse中使用的話,可以選擇jad,加以復雜的命令,可以實現很多的功能。

本文主要是稍微介紹一下三款反編譯軟件的對比結果,所以具體的使用方法等可以見參考資料中的文章。

參考資料

Jad官網:http://www.kpdus.com/jad .html (好久沒有更新了,下載請使用下面網址)

jad下載:http://www.varaneckas.com/jad

jadclipse:http://sourceforge.net/projects/jadclipse/

jode:http://sourceforge.net/projects/jode/

jodeeclipse:http://sourceforge.net/projects/jodeeclipse/

Java Decompiler: http://java.decompiler.free.fr/

java 反編譯插件的介紹總結:http://zhidao.baidu.com/question/79760697.html

http://hi.baidu.com/darmn/blog/item/56678e7f14f81a0129388af7.html

http://hi.baidu.com/zhangge9477/blog/item/adeced08c9663a3ae8248849.html

 类似资料: