Java逆向基础之十一.反编译器
本文于2136天之前发表,文中内容可能已经过时。
java反编译
- JD-GUI
- 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的反编译命令
1 | java -jar procyon-decompiler-0.5.30.jar -jar iMybatis-3.58.jar -o output/ |
kotlin反编译
Despector
https://github.com/Despector/Despector
这个先要运行gradlew.bat编译编译之后找lib里面的jar
反编译命令
1 | java -jar despector-0.1.0-SNAPSHOT.jar --lang=kotlin HelloKt.class outkt/ |