本文是源于一次逆向 android app,辛苦脱壳后得到 classes_dumped_29-dex2jar.jar ,要得到源码,但是又不想降级 jdk 到 1.7 来迁就 jd_gui。花了一分钟,找到 jd_gui 在 1.8 下的用法,至于 基于 procyon 的 UI luyten 纯是凑数。

JD_GUI

打开 http://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.pngTryWithResources.pngDefaultMethodsInInterface.pngLambda.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 默认