016-JDK8+可用的反編譯工具(JD_GUI+Procyon)

趙安家發表於2019-04-18

這是堅持技術寫作計劃(含翻譯)的第16篇,定個小目標999,每週最少2篇。

本文是源於一次逆向android app,辛苦脫殼後得到 classes_dumped_29-dex2jar.jar ,要得到原始碼,但是又不想降級jdk到1.7來遷就jd_gui。花了一分鐘,找到jd_gui 在1.8下的用法,至於 基於procyon的UI luyten 純是湊數。

JD_GUI

開啟 java-decompiler.github.io/

image.png

其實官網已經很明顯了,大家之所以以訛傳訛,認為JD_GUI不支援1.8,大多是被度娘或者CSDN荼毒。
1.4.0 及以前的jd_gui,在1.8開啟一般是
image.png

下載並解壓預覽版,然後 java -jar jd-gui-1.4.1.jar 

image.png

熟悉的介面,熟悉的配方。

官方截圖

LocalMethodClasses.png
TryWithResources.png
DefaultMethodsInInterface.png
Lambda.png

procyon + luyten

下載最新版的 luyten.jar ,然後   java -jar luyten-0.5.4.jar 

image.png

只是輕度使用的話,兩個差不多,建議用jd_gui,起碼搜尋速度能甩luyten 10條街啊。

結語

是不是以為會有類似lambda反編譯比對一類的評測文?答案是,你想多了。這些工具只要有數就行,一個不好用,換另一個就行。

其實,一般情況下,使用獨立反編譯工具的可能性很小,一般是IDE的外掛居多,比如,cnfree/Eclipse-Class-Decompiler ,而idea預設有簡易版的反編譯外掛。足以應付日常工作中零星的反編譯用途。

招聘小廣告

山東濟南的小夥伴歡迎投簡歷啊 加入我們 , 一起搞事情。
長期招聘,Java程式設計師,大資料工程師,運維工程師,前端工程師。

相關文章