美文网首页
安卓反编译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