将模糊的Android dex/jar文件反编译为Java源代码
有没有办法将模糊的dex/jar文件反编译成Java源代码?我有一个APK,里面没有classes.dex文件,但是我有一个odex文件。我曾尝试使用oat2dex和dex2jar来获取dex/jar文件,然后使用一些反编译器来获取Java源代码,但我要么在某些部分出现错误,要么因为代码混乱而很难读取 这是我试过的将模糊的Android dex/jar文件反编译为Java源代码,java,reverse-engineering,decompiling,decompiler,deobfuscation,Java,Reverse Engineering,Decompiling,Decompiler,Deobfuscation,有没有办法将模糊的dex/jar文件反编译成Java源代码?我有一个APK,里面没有classes.dex文件,但是我有一个odex文件。我曾尝试使用oat2dex和dex2jar来获取dex/jar文件,然后使用一些反编译器来获取Java源代码,但我要么在某些部分出现错误,要么因为代码混乱而很难读取 这是我试过的 JD-GUI(首先我尝试了完成反编译,但出现了多个错误) 蕨类植物(无法完成) Procyon(相当好,但有一些错误) CFR(更好,但有一些错误) Jadx(最好,错误最少,但代
- JD-GUI(首先我尝试了完成反编译,但出现了多个错误)
- 蕨类植物(无法完成)
- Procyon(相当好,但有一些错误)
- CFR(更好,但有一些错误)
- Jadx(最好,错误最少,但代码仍然模糊且难以阅读,多个类/方法具有相同的随机名称)
我能做些什么来获得更具可读性的代码?没有任何神奇的工具可以将所有模糊的代码重构成有意义的“干净”代码。模糊代码是模糊的:处理它
但是,您可以保存模糊的源代码,使用首选ide(支持重构)创建项目,手动分析函数和变量,并将它们重构为有意义的内容。这需要很多时间,但最终您将获得一个几乎干净的源代码。为什么要反编译模糊的代码?使这变得困难是混淆工具的目的。如果有一个好的工具,我想人们会停止混淆他们的代码。所以我说没有解决方案是对的吗?Krakatau反编译器是专门为处理混淆代码而设计的。然而,并没有什么能神奇地修复乱七八糟的名称。要“修复”乱七八糟的名称,您必须使用DeobFousator程序(如Enigma)手动重新映射类。或者,如果您可以使用反编译器来获取源代码,那么您可以在IDE中完成这一切(但这样做需要更长的时间)。