jadx
Jadx可以将APK、dex、aar、aab、jar和zip文件中的字节码反编译为Java类。还可以附加App进程调试和反混淆代码。支持GUI和命令行两种运行模式
源码地址
:https://github.com/skylot/jadx.git
bytecode-viewer
开源、轻量级的Java、apk反编译工具,还可以查看,编辑字节码
源码地址
:https://github.com/Konloch/bytecode-viewer.git
jd-gui
jd-gui这款工具,应该很多朋友都用过,绿色,轻便,exe文件仅1M+。
源码地址
:https://github.com/java-decompiler/jd-gui.git
Luyten
Luyten这个工具没用过,不是很了解。其也具备基本的class反编译工具
源码地址
:https://github.com/deathmarine/Luyten.git
Recaf
Recaf除了基本的class反编译功能外,还可以进行一些简单的编辑
源码地址
:https://github.com/Col-E/Recaf.git
GDA
GDA(GJoy Dex Analyzer)是用C++开发并开源的强大的Dalvik字节码反编译器,具有快速分析、低内存和磁盘消耗的优势,并具有更强的反编译apk、dex、odex、oat、jar、class、aar文件的能力,也支持反混淆。
源码地址
:https://github.com/fesh0r/fernflower.git
fernflower
fernflower,jar反编译工具,需要通过命令行模式,无GUI界面。该功能已经集成到IDEA插件中
源码地址
:https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
cfr
cfr,也是一款通过命令行模式运行的反编译工具。反编译文件,可以是单个class,可以是jar
源码地址
:https://github.com/leibnitz27/cfr.git
反编译、反混淆工具,在某些时候,能帮助我们了解、学习到一些东西。但是,这些工具仅仅是用来学习,请注意尺度,反混淆也不是都能成功。