天天看點

【轉】一個不錯的eclipse反編譯插件

閑暇之餘,寫了一個eclipse下的java反編譯插件:eclipse class decompiler,整合了目前最好的2個java反編譯工具jad和jd-core,并且和eclipse class viewer無縫內建,能夠很友善的使用本插件檢視類庫源碼,以及采用本插件進行debug調試。

直接使用eclipse進行更新,支援eclipse 3.x, 4.x,不依賴任何其他插件,直接勾選更新插件即可。

【轉】一個不錯的eclipse反編譯插件

下圖為eclipse class decompiler的首選項頁面,可以選擇預設的反編譯器工具,并進行反編譯器的基本設定。預設的反編譯工具為jd-core,jd-core更為先進一些,支援泛型、enum、注解等jdk1.5以後才有的新文法。

【轉】一個不錯的eclipse反編譯插件

首選項配置選項:

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反編譯插件
【轉】一個不錯的eclipse反編譯插件

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

【轉】一個不錯的eclipse反編譯插件

打開項目路徑下的class檔案,如果設定類反編譯檢視器為預設的檢視器,直接輕按兩下class檔案即可,如果沒有設定為預設檢視器,可以使用右鍵菜單進行檢視。

【轉】一個不錯的eclipse反編譯插件

eclipse class decompiler插件也提供了反編譯整個jar檔案或者java包的反編譯。該操作支援package explorer對包顯示布局的操作,如果是平鋪模式布局,則導出的源代碼不包含子包,如果是層級模式布局,則導出選中的包及其所有的子包。

【轉】一個不錯的eclipse反編譯插件

debug調試:可以在首選項選中對齊行号進行單步跟蹤調試,和普通的包含源代碼時的調試操作完全一緻,同樣的也可以設定斷點進行跟蹤。

【轉】一個不錯的eclipse反編譯插件

繼續閱讀