我一直在尝试将 Android 应用程序从 dex/jar 文件反编译为 java 源代码,并取得了不同程度的成功。我已经尝试了常见的嫌疑犯 - JD-GUI、procyon、cfr、krakatau 和 jadx。我在一个特定的应用程序上遇到了一个特定的问题,因为它被混淆了,而且许多类似乎被分成多个文件。AFAIK,这在 Java 中是不允许的。
此外,这些类似乎扩展了多个基类,例如 a 类扩展了 Activity,而 a 类(或重命名为其他东西,但我知道实际上是 a 类,因为它试图直接访问 a 的私有成员变量)扩展 BroadcastReceiver。AFAIK,这在 Java 中也是不允许的。
结果,反编译出来的代码错误百出,难以理解。我不期望从反编译代码中得到可编译的代码,但我确实希望至少能够执行有意义的静态分析,当反编译的源代码不遵循 Java 约定时,这很难做到。
有关如何解决此反编译问题的任何帮助?
谢谢。