美文网首页
DEX文件格式浅析

DEX文件格式浅析

作者: ModestStorm | 来源:发表于2022-10-23 18:39 被阅读0次

    dex文件是Anroid的虚拟机Dalik和ART运行的一种文件结构,它包含应用程序的全部操作指令以及运行时数据。

    下面从两张图看.class文件和.dex文件区别:

    640.png

    通过上图可以看到,dex文件将原来每个文件都有的共有信息合成一体,从而减少了class的冗余。

    640-2.png

    通过上图可以清晰看到,dex文件主要由3大部分组成,它们分别是:文件头、索引区、数据区。其中索引区主要包括字符串、类型、方法、域、方法的索引。数据区主要包括类的定义、数据区、链路数据区

    640-3.png

    dex文件头

    dex文件头一般固定为0x70个字节大小,它包含标志、版本号、校验码、sha-1签名以及其他一些方法、类的数量和偏移地址等信息。


    640.png 640-2.png

    结合上面的两张图进行对照,下面我们进一步详细的描述dex文件的结构:

    640-3.png

    dex索引区

    dex文件索引区,它包含一些字符串、类型、方法、域、方法的索引,方法可以查找到对应的数据位置

    640-5.png 640-6.png

    dex数据区

    Dex文件的数据区,它包含类的定义区、数据区、链接数据区。
    类的定义区一般存放dex文件中一些类对象的声明,数据区则存放代码原数据,链接数据区一般提供从索引区到数据区的链接映射关系。

    640-2.png

    相关文章

      网友评论

          本文标题:DEX文件格式浅析

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