对 Android 应用进行逆向工程时,Smali 代码与 Java 源代码

Roc*_*yxz 4 java android reverse-engineering smali

我只是在看android逆向工程教程,我注意到他们大多数都是在apk反编译后修改smali代码而不是实际的java源代码,这是有原因的吗?

任何帮助表示赞赏。

谢谢

Jim*_*myB 5

大多数时候,你从反编译中得到的并不是完整/正确/可编译的Java源代码。

从字节码推断(Java)源代码只是一个难题。此外,源代码中的某些信息可能会在编译后的形式中丢失,例如局部变量或参数的名称,因此无法通过反编译来恢复它们。

相比之下,将字节代码转换为低级(smali)指令(反之亦然)是微不足道的。