java反编译

JD-GUI

http://jd.benow.ca/


DJ Java Decompiler

http://www.neshkov.com/dj.html


JADX 安卓jar dex反编译

https://github.com/skylot/jadx


Femflower,是著名 IDE Idea 的反编译器

https://github.com/fesh0r/fernflower


procyon 支持JDK8

https://bitbucket.org/mstrobel/procyon/downloads/


CFR

http://www.benf.org/other/cfr/


Luyten Procyon的GUI版本

https://github.com/deathmarine/Luyten


Enigma Procyon的GUI版本

http://www.cuchazinteractive.com/enigma/


Krakatau

https://github.com/Storyyeller/Krakatau


各反编译器比较

反编译器名称

支持JDK版本

最后更新时间

JD-GUI

JDK 6

2015年9月,停更

DJ Java Decompiler

JDK 6

2015年2月,停更

Femflower

JDK 8

2018年2月,持续更新

procyon

JDK 8

2015年8月,停更

CFR

JDK 8

2018年1月,持续更新

Krakatau

JDK 7

2018年3月,持续更新

总结一下,一般的低版本的class拖进JD-GUI反编译就可以了,JD-GUI反编译不了的和JDK8的使用procyon/CFR/Femflower

procyon/CFR的反编译命令

java -jar procyon-decompiler-0.5.30.jar -jar iMybatis-3.58.jar -o output/
java -jar cfr_0_125.jar iMybatis-3.58.jar --outputdir output2/


kotlin反编译

Despector

https://github.com/Despector/Despector

这个先要运行gradlew.bat编译编译之后找lib里面的jar

反编译命令

java -jar despector-0.1.0-SNAPSHOT.jar --lang=kotlin  HelloKt.class outkt/