程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Eclipse Class Decompiler---Java反編譯插件,eclipse反編譯class

Eclipse Class Decompiler---Java反編譯插件,eclipse反編譯class

編輯:JAVA綜合教程

Eclipse Class Decompiler---Java反編譯插件,eclipse反編譯class


若轉載,請標明出處http://www.cnblogs.com/last_hunter/p/5626779.html,謝謝!

------------------------------------------------------------------------------------

1. Java反編譯插件Jad和JD-Core

來源:http://blog.csdn.net/silentmuh/article/details/46787625

來源:http://blog.csdn.net/liuquan0071/article/details/51004724

Eclipse Class Decompiler,整合了目前最好的2個Java反編譯工具Jad和JD-Core,並且和Eclipse Class Viewer無縫集成,能夠很方便的使用本插件查看類庫源碼,以及采用本插件進行Debug調試。
Eclipse Class Decompiler插件更新站點: http://feeling.sourceforge.net/update

離線安裝包下載地址一:http://feeling.sourceforge.net/downloads/org.sf.feeling.decompiler_1.0.3.zip
離線安裝包下載地址二:http://www.blogjava.net/Files/cnfree/org.sf.feeling.decompiler_1.0.3.zip

本插件僅支持Windows,Linux,Macosx操作系統。

直接使用Eclipse進行更新,支持Eclipse 3.x, 4.x,不依賴任何其他插件,直接勾選更新插件即可。
不少朋友問有沒有英文版的,實際上創建一個Eclipse的快捷方式,加上 -nl en_US 參數,所有的插件都會自動顯示成英文,包括Eclipse Class Decompiler插件。

在線安裝地址 http://feeling.sourceforge.net/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文件即可,如果沒有設置為缺省查看器,可以使用右鍵菜單進行查看。

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

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

 

2. 反編譯插件jadclipse

來源:http://www.cnblogs.com/java-class/p/4279261.html

來源:http://jingyan.baidu.com/article/3f16e003c857082590c1036f.html

  

  6.  設置*.class without source文件類型打開方式,點擊Associate editors欄下Add增加按鈕,添加JadClipse Class File Viewer並設置成默認,如圖:

  

ok,可以打開class文件查看了。

--------------------------------------Eclipse 中 plugin和  feature作用和關聯 -------------------------------

[什麼是plug-in 的基本結構?]
每一個plug-in都用一個目錄包起來, 而且起目錄名也是有講究的,比如plug-in的名字叫edu.sjtu.bbs.eclipse,版本是1.0.0, 那這個目錄名就是edu.sjtu.bbs.eclipse_1.0.0.
而且隨便打開一個plugin目錄,可以發現總有一個文件叫一個叫plugin.xml,這個文件對於plugin來說十分重要, 它相當於定義了plugin的運行參數,沒有這個,plugin無法啟動,
就像你家的電冰箱如果不知道是用110V還是220V的,你也不敢亂往插座上插,所以總要有個說明,這個說明就是plugin.xml.

[什麼是 feature ?]
feature是功能部件,它裡面沒有實際的運行的庫,它只是eclipse用來管理plugins的一種途徑. 比如你家裝了電燈,總要有開關控制,比如大堂的燈有一個開關控制, 臥室的燈
也有一個開關控制, 它們分別用來控制燈的亮與滅。同樣,功能部件就是用來控制插件的啟動與否. eclipse的update透視圖可以設定各個功
能部件的啟用或禁用狀態, 所以你可以通過禁用功能部件,來禁止插件的啟動. 這樣有一個好處,比如你裝了很多插件在eclipse上,但是裝的越多,加載就越多,啟動也會變慢。
所以,我們可以把功能部件看作是插件或插件集合的開關, 用來控制插件的狀態. 如果plugins目錄有插件沒有被任何一個功能部件包絡的話, 我稱之為"野插件", 就是eclipse
啟動,它也一定會啟動, 就相當於沒有開關, 電源一直連通一樣。

3. Java Decompiler

連接:http://jd.benow.ca/    Decompiler的介紹及源碼。

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved