Java development artifact IDEA, with its own class decompilation function, and debugging is also very convenient. So, are there any other decompilation tools besides IDEA that can be decompiled? Here are some of the open-source decompilation tools in Github.
jadx
Jadx can decompile bytecode from APK, dex, aar, aab, jar, and zip files into Java classes. App process debugging and anti-obfuscation code can also be attached. Support GUI and command line two running modes
Source code address: https://github.com/skylot/jadx.git
bytecode-viewer
Open source, lightweight Java, apk decompilation tools, you can also view, edit bytecode
Source code address: https://github.com/Konloch/bytecode-viewer.git
jd-gui
jd-gui this tool, should be used by many friends, green, light, exe file only 1M+.
Source code address: https://github.com/java-decompiler/jd-gui.git
Luyten
Luyten is a tool I haven't used and don't know much about it. It also has basic class decompilation tools
Source code address: https://github.com/deathmarine/Luyten.git
Recaf
Recaf can make some simple edits in addition to basic class decompilation functionality
Source code address: https://github.com/Col-E/Recaf.git
GDA
GDA (GJoy Dex Analyzer) is a powerful Dalvik bytecode decompiler developed in C++ and open source, which has the advantages of fast analysis, low memory and disk consumption, and has a stronger ability to decompile apk, dex, odex, oat, jar, class, aar files, and also supports deobfuscation.
Source code address: https://github.com/fesh0r/fernflower.git
fernflower
fernflower, a jar decompilation tool, requires command line mode, no GUI interface. This functionality has been integrated into the IDEA plugin
Source code address: https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
Cfr
cfr, also a decompilation tool that runs in command-line mode. Decompile the file, which can be a single class, can be a jar
| |
Source code address: https://github.com/leibnitz27/cfr.git
Decompilation and anti-obfuscation tools, at some point, can help us understand and learn something. However, these tools are only for learning, pay attention to the scale, and anti-obfuscation is not always successful.