【发布时间】:2012-08-22 04:49:06
【问题描述】:
在使用 dex2jar 和 JD-GUI 等工具后,我从 APK 中获得了 Java 类。众所周知,Java 字节码可以转换回 Java 类,因此大多数情况下它会通过一些工具进行优化和混淆(例如在 Android 的情况下使用 ProGuard),以使其免受其他人的影响。所以我得到的是混淆代码,我想让它没有错误、可读、可理解,以便我可以为自己的目的进一步修改它(仅供我个人使用,我无意侵犯任何版权)。因此,任何帮助,即建议、工具、帮助材料,以使这些混淆代码更接近开发人员编写的代码或使其无错误且易于理解,将对我有很大帮助。目前,我的重点是反转 ProGuard 使用的混淆技术,例如当我在自己的项目上尝试逆向工程时发现:
-
int资源值可以通过与逆向工程生成的R文件匹配来更改 ids。 -
if/else条件大多转换为while(true)和一些continues 和breaks。 - 内部类大多分解为单独的文件
因此,对于上述方法,可以描述如何正确扭转它们的任何其他技术和帮助材料都将非常有帮助。
【问题讨论】:
标签: java android obfuscation deobfuscation