栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Dex文件结构与加载方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Dex文件结构与加载方法

Dex文件解析结构主要分为八个部分

DexHeader :

1.magic标识信息

2.checksum adler32 检验dex内容完整

3.signnature SHA1签名值

4.filesize文件总大小

5.header size文件头大小

6.endian_tag 安卓一般为小端   

7.link_size 为0非静态链接 8.link_off  linkSection对应偏移 以下内容size为数量 off为偏移量

8.关键量解释 map:MapItem type:类型列表 proto:声明列表 data:数据段大小

DexStringId

1.Value对应字符串数量 索引由0开始

2.data对应字符串 off对应字符串偏移  size字符串大小

DexTypeId

1.Dex存放的所有类型  包含DexString的index

DexProtoId

1.描述方法的原型,方法返回值类型与方法参数

2.returnTypeId 描述方法返回值类型 parameters_off 结构体偏移

3.list parameters 存放参数列表的结构体 包含数量和类型

DexFieldId

1.class :字段所在的类路径

2.type :字段的类型

3.name:字段名称

4.头部包含字段数量,偏移,大小

DexMethodId

1.包含三要素 方法所在的类 方法名 方法源文件

DexClassDef

1.类定义 

2.关键字 class 类的类型 flags类访问修饰符 super父类 interfaces接口 source源文件

3.data_item 类中包含的信息  static 静态字段 instance 实例字段 direct直接方法 virtual 虚方法

4.下来是对字段方法的解析,codeOff偏移地址 codeitem方法的逻辑代码

DEXmapList

1.包含数组个数,数组的定义枚举量,属性。

 

Dex加载方法

1.解释器解释执行

2.二进制执行

3.Native指针

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/295803.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号