美文网首页
安卓反编译smail后动态调试

安卓反编译smail后动态调试

作者: 欧巴冰冰 | 来源:发表于2017-08-15 10:13 被阅读107次

Smali是什么?
Android采用的是java语言 进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class而是使用的smali。 JAVA虚拟机运行的是JAVA字节码,Dalvik虚拟机运行的是Dalvik字节码。Smali语言是Davlik的寄存器语言。


Dalvik和JVM介绍
JAVA程序经过编译,生成JAVA字节码保存在class文件中,JVM通过解码class文件中的内容来运行程序。而DVM运行的是Dalvik字节码,所有的Dalvik字节码由JAVA字节码转换而来,并被打包到一个DEX(Dalvik Executable)可执行文件中,DVM通过解释DEX文件来执行这些字节码,DEX文件解析出来就是smali寄存器语言。

详细参考: JAVA虚拟机Dalvik虚拟机和ART虚拟机简要对比
java虚拟机和Dalvik虚拟机的区别


ToDo 反编译流程和细节

相关文章

网友评论

      本文标题:安卓反编译smail后动态调试

      本文链接:https://www.haomeiwen.com/subject/xbrmrxtx.html