若轉載,請標明出處http://www.cnblogs.com/last_hunter/p/5626779.html,謝謝!html
------------------------------------------------------------------------------------java
1. Java反編譯插件Jad和JD-Core緩存
來源:http://blog.csdn.net/silentmuh/article/details/46787625eclipse
來源:http://blog.csdn.net/liuquan0071/article/details/51004724編輯器
來源:http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html工具
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插件。spa
在線安裝地址 http://feeling.sourceforge.net/update操作系統
下圖爲Eclipse Class Decompiler的首選項頁面,能夠選擇缺省的反編譯器工具,並進行反編譯器的基本設置。缺省的反編譯工具爲JD-Core,JD-Core更爲先進一些,支持泛型、Enum、註解等JDK1.5之後纔有的新語法。.net
首選項配置選項:
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文件查看了。
[什麼是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的介紹及源碼。