IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> DEX | ELF 文件结构介绍 -> 正文阅读

[移动开发]DEX | ELF 文件结构介绍

Dex文件结构:

1.dex文件中的数据结构

????????u1/uint8_t=>表示1字节的无符号数

????????u2/uint16_t=>表示2字节的无符号数

????????u4/uint32_t=>表示4字节的无符号数

????????u8/unit64_t=>表示8字节的无符号数

????????sleb128=>有符号leb128,可变长度为1-5字节

????????uleb128=>无符号符号leb128,可变长度为1-5字节

????????uleb128p1=>无符号leb128值加1,可变长度为1-5字节

2.dex文件整体结构

struct DexFile {

????????DexHeader

????????DexStringId

????????DexTypeId

????????DexProtoId//对DexType进一步说明

????????DexFieldId

????????DexMethodId

????????DexClassDef

????????DexData

????????DexLink

}

以索引为线索

3.DEX的内存映射

????????与静态类似,只是变为xxxItem结构

????????ClassObject结构由六个部分组成:????

????????PDvmDex:// DEX文件字段 ????

????????super://超类 ???

????????sfields://对应DexClassData结构中的staticFields静态字段 ?????

????????iFields://对应DexClassData结构中的instanceFields实例字段 ??????

????????directMethods://对应DexClassData结构中的directMethods直接方法字段 ??

????????virtualMethods:///对应DexClassData结构中的virtualMethods虚方法字段

????????DexClassDef : ?class_def_item ??

????????DexClassData: ?class_data_item ????

????????DexFiled(staticFields): sfileds ?????

????????DexFiled(instanceFields): ifileds ????????

????????DexMethod(directMethods):directMethods ????

????????DexMethod(virtualMethods):virtualMethods ???????

????????DexCode: code_item ?

ELF文件结构:

????????linux elf文件、windows pe文件

????????Android操作系统内核采用Linux内核框架实现 ?Android ELF文件

ELF文件整体结构:

????????ELF Header-->ELF文件头的位置是固定的

????????Segment Header Table-->ELF程序头描述的是段的相关信息

????????.init

????????.text

????????.rodata

????????.data

????????.symtab ?符号表

????????.line ????????

????????.strtab ?字符串表

????????Section Header Table-->ELF节头表描述的是节区的信息

????????动态用段,静态用节

????????readelf的使用:

?????????????????-a

?????????????????-h

?????????????????-l

?????????????????-S

?????????????????-e

?????????????????-s

????????arsc文件:

????????????????arsc文件解析

????????xml文件:

????????????????xml文件解析及工具

????????xml加密

????????????????xml和arsc简单十六进制加密:

以arsc为例:在0x00000028h的文件偏移地址之前进行修改,如改头 部第一个HEX操作数为00。搜索字符,'1c' 搜索3下。把1c前面的 01改00,就可以了。看020行,头部字节流,把尾部的00改为和头 部一样。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 10:51:10  更:2021-09-08 10:51:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:11:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码