逆向工程Android应用程序时Smali代码与Java源代码

时间:2016-03-22 11:19:02

标签: java android reverse-engineering smali

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

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:4)

大多数情况下,您从反编译中获得的是而不是完整/正确/可编译的Java源代码。

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

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