Eclipse Class Decompiler——Java反編譯插件


Eclipse Class Decompiler是一款Eclipse插件,整合了多種反編譯器,和Eclipse Class Viewer無縫集成,能夠很方便的使用插件查看類庫源碼,進行Debug調試。

Eclipse Class Decompiler對JDK的最低要求為JDK1.5, 能反編譯和debug各版本的Class文件,支持JDK8的Lambda語法,同時支持中文等非Ascii碼字符集的解析,支持Eclipse 3.5及以上所有版本的Eclipse。

目前本插件下載量已超過16萬,日均下載量超過500次,在Eclipse 官方市場 MarketPlace 中排名前10。

為保證反編譯插件能支持最新版的Eclipse,本插件不再提供離線下載方式安裝,請大家通過Eclipse Marketplace進行安裝,在線安裝源放置在 github.org 上,不會像sourceforge一樣被牆。

插件在 Eclipse Marketplace 上的項目地址:https://marketplace.eclipse.org/content/eclipse-class-decompiler 

喜歡本插件的同學可以幫忙點個贊:https://marketplace.eclipse.org/user/login/sso?destination=node/472922/toggle_favorites

安裝插件請 拖拽 Install按鈕 到Eclipse工具欄或者其他窗口區域(編輯器區域除外) Drag to your running Eclipse workspace to install Eclipse Class Decompiler


或采用Eclipse Marketplace 搜索 Decompiler 或者 反編譯 進行更新





本插件支持Windows,Linux,Macosx 32位及64位操作系統。

低版本 Eclipse 不包含 Eclipse MarketPlace Client,可以通過以下地址在線更新:

http://cnfree.github.io/Eclipse-Class-Decompiler/update
 
插件使用說明:

下圖為Eclipse Class Decompiler的首選項頁面,可以選擇缺省的反編譯器工具,並進行反編譯器的基本設置。缺省的反編譯工具為JD-Core,JD-Core更為先進一些,支持泛型、Enum、注解等JDK1.5以后才有的新語法。

首選項配置選項:
1.重用緩存代碼:只會反編譯一次,以后每次打開該類文件,都顯示的是緩存的反編譯代碼。
2.忽略已存在的源代碼:若未選中,則查看Class文件是否已綁定了Java源代碼,如果已綁定,則顯示Java源代碼,如果未綁定,則反編譯Class文件。若選中此項,則忽略已綁定的Java源代碼,顯示反編譯結果。
3.顯示反編譯器報告:顯示反編譯器反編譯后生成的數據報告及異常信息。
4.使用Eclipse代碼格式化工具:使用Eclipse格式化工具對反編譯結果重新格式化排版,反編譯整個Jar包時,此操作會消耗一些時間。
5.使用Eclipse成員排序:使用Eclipse成員排序對反編譯結果重新格式化排版,反編譯整個Jar包時,此操作會消耗大量時間。
6.以注釋方式輸出原始行號信息:如果Class文件包含原始行號信息,則會將行號信息以注釋的方式打印到反編譯結果中。
7.根據行號對齊源代碼以便於調試:若選中該項,插件會采用AST工具分析反編譯結果,並根據行號信息調整代碼順序,以便於Debug過程中的單步跟蹤調試。
8.設置類反編譯查看器作為缺省的類文件編輯器:默認為選中,將忽略Eclipse自帶的Class Viewer,每次Eclipse啟動后,默認使用本插件提供的類查看器打開Class文件。



插件提供了系統菜單,工具欄,當打開了插件提供的類反編譯查看器后,會激活菜單和工具欄選項,可以方便的進行首選項配置,切換反編譯工具重新反編譯,以及導出反編譯結果。






類反編譯查看器右鍵菜單包含了Eclipse自帶類查看器右鍵菜單的全部選項,並增加了一個“導出反編譯源代碼”菜單項。




打開項目路徑下的Class文件,如果設置類反編譯查看器為缺省的查看器,直接雙擊Class文件即可,如果沒有設置為缺省查看器,可以使用右鍵菜單進行查看。




同時插件也支持直接將外部的Class文件拖拽到Eclipse編輯器中進行反編譯。


Eclipse Class Decompiler插件也提供了反編譯整個Jar文件或者Java包的反編譯。該操作支持Package Explorer對包顯示布局的操作,如果是平鋪模式布局,則導出的源代碼不包含子包,如果是層級模式布局,則導出選中的包及其所有的子包。




Debug調試:可以在首選項選中對齊行號進行單步跟蹤調試,和普通的包含源代碼時的調試操作完全一致,同樣的也可以設置斷點進行跟蹤。當透視圖為Debug時,插件自動生成行號並進行對齊方便調試代碼,無需進行任何設置。

原創作者:http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html


免責聲明!

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



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