对Android应用程序进行反向工程时的Smali代码与Java源代码

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

任何帮助表示赞赏.

谢谢

解决方法:

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

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

相比之下,将字节码转换为低级(smali)指令(反之亦然)很简单.

上一篇:Smali语言基础语法


下一篇:Spark新手入门——3.Spark集群(standalone模式)安装