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

Smali code vs Java source code when reverse engineering an android app

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

感谢任何帮助。

谢谢

大多数时候,你反编译得到的是不是complete/correct/compilableJavasource.

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

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