美文网首页
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文件格式浅析

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

  • 热修复与插件化基础——dex与class

    一、dex/class浅析 1、class与dex对比 2、生成class与dex文件的指令 生成并运行class...

  • JNI搜索dex中的method

    Dex文件格式 dex的定义在DexFile.h里。 查找dex里class method举例 1、把apk读进内...

  • ClassLoader解析以及应用

    [TOC] Android ClassLoader浅析 Android中的dex、apk、ClassLoader...

  • Android 打包之混淆

    Dex打包关于65536的问题 由于DEX文件格式限制,一个DEX文件中的method个数采用使用原生类型shor...

  • dex文件格式

    dex文件格式 dex文件中的数据结构 每个LB125由1~5个字节组成,所有的字节组合在一起表示一个32位的数据...

  • 2019-03-19 实验吧-smali文件分析

    一、基础知识 1、dex文件 (1)dex文件:能够被DVM或者Art虚拟机执行并且加载的文件格式。是Androi...

  • Android[art]-Android dex,odex,oa

    参考学习博客: Android Dex文件格式(一):https://blog.csdn.net/p3120111...

  • Dex文件格式详解

    什么是dex文件 他是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据。 由于dalvik...

  • Android Dex文件

    .dex(Dalvik Executable Format)文件用于保存类定义及其关联的辅助数据 文件格式 hea...

网友评论

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

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