今天我們要來分享一些關於Java的反編譯工具,反編譯聽起來是一個非常高上大的技術詞彙,通俗的說,反編譯是一個對目標可執行程式進行逆向分析,從而得到原始程式碼的過程。尤其是像.NET、Java這樣的運行在虛擬機器上的程式語言,更容易進行反編譯得到原始碼。當然,也有一些商業軟體,對其程式進行了混淆加密,這樣我們就很難用工具反編譯了。
1、Java反編譯插件――Jadclipse
JadClipse是Jad的Eclipse插件,是一款非常實用且方便地Java反編譯插件,我們只需將下載的插件包複製到eclipse的plugins目錄下,然後修改window -> Preferences -> Java -> JadClipse 下的Path to decompiler ,如:C:/pin/jadnt158/jad.exe,最後在Windows -> Perference -> General -> Editors -> File Associations中修改「*.class」預設相關的編輯器為「JadClipse Class File Viewer」 即可。
官方網站:http://sourceforge.net/projects/jadclipse/
2、Java反編譯工具jad
jad是一款使用非常廣泛地Java反編譯工具,上面這款Jadclipse就是基於jad的反編譯插件,JAD 文件包含MIDlet 套件的標題信息,例如開發應用程序的公司、應用程序名稱和大小。
官方網址:http://varaneckas.com/jad/
3、Java 反編譯器JD-GUI
JD-GUI 是一個以C++ 開發的Java 反編譯工具,由Pavel Kouznetsov開發,支援Windows、Linux和蘋果Mac Os三個平台。而且提供了Eclipse平台下的插件JD-Eclipse。 JD-GUI不需要安裝,直接點選執行,可以反編譯jar,class檔。
官方網址:http://jd.benow.ca/
4、Java反編譯器jdec
jdec是一個Java反編譯器。它能夠把出現在一個.class檔案中的字節碼還原成Java原始碼,反編譯的結果幾乎與原始Java檔相同。它還附帶一個利用swing開發的使用者操作介面。
官方網址:http://jdec.sourceforge.net/
5、uuDeJava
uuDeJava是Java Class檔案的反編譯工具。反編譯的Java原始程式被輸出到Class的相同目錄。內部使用jad.exe。反編譯Class檔案時,可以直接點選Class檔案(關聯後),或是選取檔案或目錄傳送到uuDeJava的捷徑。也可以拖曳檔案或目錄到uuDeJava的主視窗。
官方網址:http://www.uuware.com/uudejava_cn.htm
6、Java 反向工程軟體Minjava
Minjava 是一個Java 反向工程軟體,可協助理解一些已存在Java 軟體的架構和行為。
官方網站:https://code.google.com/p/minjava/
7、Java Decompiler
這款反編譯器叫做「Java Decompiler」, 由Pavel Kouznetsov開發,目前最新版本為0.2.5. 它由C++開發,並且官方可以下載windows、linux和蘋果Mac Os三個平台的可執行程式。
官方網址:http://jd.benow.ca/