Eclipse Class Decompiler---Java反编译插件
若轉(zhuǎn)載,請標(biāo)明出處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
來源:http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html
Eclipse Class Decompiler,整合了目前最好的2個Java反編譯工具Jad和JD-Core,并且和Eclipse Class Viewer無縫集成,能夠很方便的使用本插件查看類庫源碼,以及采用本插件進行Debug調(diào)試。
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操作系統(tǒng)。
直接使用Eclipse進行更新,支持Eclipse 3.x, 4.x,不依賴任何其他插件,直接勾選更新插件即可。
不少朋友問有沒有英文版的,實際上創(chuàng)建一個Eclipse的快捷方式,加上 -nl en_US 參數(shù),所有的插件都會自動顯示成英文,包括Eclipse Class Decompiler插件。
在線安裝地址?http://feeling.sourceforge.net/update
下圖為Eclipse Class Decompiler的首選項頁面,可以選擇缺省的反編譯器工具,并進行反編譯器的基本設(shè)置。缺省的反編譯工具為JD-Core,JD-Core更為先進一些,支持泛型、Enum、注解等JDK1.5以后才有的新語法。
?首選項配置選項:
1.重用緩存代碼:只會反編譯一次,以后每次打開該類文件,都顯示的是緩存的反編譯代碼。
2.忽略已存在的源代碼:若未選中,則查看Class文件是否已綁定了Java源代碼,如果已綁定,則顯示Java源代碼,如果未綁定,則反編譯Class文件。若選中此項,則忽略已綁定的Java源代碼,顯示反編譯結(jié)果。
3.顯示反編譯器報告:顯示反編譯器反編譯后生成的數(shù)據(jù)報告及異常信息。
4.使用Eclipse代碼格式化工具:使用Eclipse格式化工具對反編譯結(jié)果重新格式化排版,反編譯整個Jar包時,此操作會消耗一些時間。
5.使用Eclipse成員排序:使用Eclipse成員排序?qū)Ψ淳幾g結(jié)果重新格式化排版,反編譯整個Jar包時,此操作會消耗大量時間。
6.以注釋方式輸出原始行號信息:如果Class文件包含原始行號信息,則會將行號信息以注釋的方式打印到反編譯結(jié)果中。
7.根據(jù)行號對齊源代碼以便于調(diào)試:若選中該項,插件會采用AST工具分析反編譯結(jié)果,并根據(jù)行號信息調(diào)整代碼順序,以便于Debug過程中的單步跟蹤調(diào)試。
8.設(shè)置類反編譯查看器作為缺省的類文件編輯器:默認為選中,將忽略Eclipse自帶的Class Viewer,每次Eclipse啟動后,默認使用本插件提供的類查看器打開Class文件。
插件提供了系統(tǒng)菜單,工具欄,當(dāng)打開了插件提供的類反編譯查看器后,會激活菜單和工具欄選項,可以方便的進行首選項配置,切換反編譯工具重新反編譯,以及導(dǎo)出反編譯結(jié)果。
類反編譯查看器右鍵菜單包含了Eclipse自帶類查看器右鍵菜單的全部選項,并增加了一個“導(dǎo)出反編譯源代碼”菜單項。
打開項目路徑下的Class文件,如果設(shè)置類反編譯查看器為缺省的查看器,直接雙擊Class文件即可,如果沒有設(shè)置為缺省查看器,可以使用右鍵菜單進行查看。
Eclipse Class Decompiler插件也提供了反編譯整個Jar文件或者Java包的反編譯。該操作支持Package Explorer對包顯示布局的操作,如果是平鋪模式布局,則導(dǎo)出的源代碼不包含子包,如果是層級模式布局,則導(dǎo)出選中的包及其所有的子包。
Debug調(diào)試:可以在首選項選中對齊行號進行單步跟蹤調(diào)試,和普通的包含源代碼時的調(diào)試操作完全一致,同樣的也可以設(shè)置斷點進行跟蹤。
?
2. 反編譯插件jadclipse
來源:http://www.cnblogs.com/java-class/p/4279261.html
來源:http://jingyan.baidu.com/article/3f16e003c857082590c1036f.html
6.? 設(shè)置*.class without source文件類型打開方式,點擊Associate editors欄下Add增加按鈕,添加JadClipse Class File Viewer并設(shè)置成默認,如圖:
ok,可以打開class文件查看了。
--------------------------------------Eclipse 中 plugin和 ?feature作用和關(guān)聯(lián) -------------------------------[什么是plug-in 的基本結(jié)構(gòu)?]
每一個plug-in都用一個目錄包起來, 而且起目錄名也是有講究的,比如plug-in的名字叫edu.sjtu.bbs.eclipse,版本是1.0.0, 那這個目錄名就是edu.sjtu.bbs.eclipse_1.0.0.
而且隨便打開一個plugin目錄,可以發(fā)現(xiàn)總有一個文件叫一個叫plugin.xml,這個文件對于plugin來說十分重要, 它相當(dāng)于定義了plugin的運行參數(shù),沒有這個,plugin無法啟動,
就像你家的電冰箱如果不知道是用110V還是220V的,你也不敢亂往插座上插,所以總要有個說明,這個說明就是plugin.xml. 
[什么是 feature ?]
feature是功能部件,它里面沒有實際的運行的庫,它只是eclipse用來管理plugins的一種途徑. 比如你家裝了電燈,總要有開關(guān)控制,比如大堂的燈有一個開關(guān)控制, 臥室的燈
也有一個開關(guān)控制, 它們分別用來控制燈的亮與滅。同樣,功能部件就是用來控制插件的啟動與否. eclipse的update透視圖可以設(shè)定各個功
能部件的啟用或禁用狀態(tài), 所以你可以通過禁用功能部件,來禁止插件的啟動. 這樣有一個好處,比如你裝了很多插件在eclipse上,但是裝的越多,加載就越多,啟動也會變慢。
所以,我們可以把功能部件看作是插件或插件集合的開關(guān), 用來控制插件的狀態(tài). 如果plugins目錄有插件沒有被任何一個功能部件包絡(luò)的話, 我稱之為"野插件", 就是eclipse
啟動,它也一定會啟動, 就相當(dāng)于沒有開關(guān), 電源一直連通一樣。
3. Java Decompiler
連接:http://jd.benow.ca/??? Decompiler的介紹及源碼。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/last_hunter/p/5626779.html
總結(jié)
以上是生活随笔為你收集整理的Eclipse Class Decompiler---Java反编译插件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 计算系数
- 下一篇: [Android] Android开发优
