Loaing......

dex - 廉一鸣的博客
n.

dex

机器之心

Posted by AGZX on August 11, 2020

dex

classdex是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据。

也就是说,基本APP的运行,是靠这个文件来指导的。所以APP运行的时候,这个文件是一直在被用的

如图~这是拆了一个APK后的内容↓

img classdex

dex的结构:

首先从宏观上来说dex的文件结果很简单,实际上是由多个不同结构的数据体以首尾相接的方式拼接而成。(跟HTML很像)

header

dex文件头部,记录整个dex文件的相关属性

string_ids

字符串数据索引,记录了每个字符串在数据区的偏移量

type_ids

类似数据索引,记录了每个类型的字符串索引

proto_ids

原型数据索引,记录了方法声明的字符串,返回类型字符串,参数列表

field_ids

字段数据索引,记录了所属类,类型以及方法名

method_ids

类方法索引,记录方法所属类名,方法声明以及方法名等信息

class_defs

类定义数据索引,记录指定类各类信息,包括接口,超类,类数据偏移量

data

数据区,保存了各个类的真是数据

link_data

连接数据区

emmm这些东西之后会有用