首页
社区
课程
招聘
[原创]Android oat文件格式分析笔记
发表于: 2015-12-2 18:07 16075

[原创]Android oat文件格式分析笔记

2015-12-2 18:07
16075

最近分析了Android中的oat文件格式,基于android5.1.1、32位,附件中的笔记有分析的详细过程。由于水平有限,难免有不足之处,还望各位大大指点一二。

为了加深理解,还写了个从oat文件中提取dex的小程序,首先解析了elf外壳,然后解析oatdata段,从中提取dex,支持oat文件中包含多个dex的情况。源码链接:https://github.com/ManyFace/ExtractDexFromOat,代码有点戳

把dex提取后,和相应apk中的dex对比,发现有2个字不一样。。。难道oat中的dex不是原始的dex?还希望大神解答啊!


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (13)
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢楼主分享技术贴。
2015-12-2 19:57
0
雪    币: 1380
活跃值: (1626)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
高深莫测的上乘功夫,学学去
2015-12-3 09:53
0
雪    币: 693
活跃值: (108)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
可能是因为oat中的某些指令变化了,参见https://github.com/anestisb/oatdump_plus
2015-12-3 10:57
0
雪    币: 1356
活跃值: (404)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
5
原来如此!
2015-12-3 11:26
0
雪    币: 1356
活跃值: (404)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
https://github.com/ManyFace/ExtractDexFromOat 增加了修复输出dex校验和的功能
2015-12-19 21:37
0
雪    币: 970
活跃值: (1264)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢分享 图解很详细 顺便问一下那个文件结构图是用什么工具画的
2015-12-25 15:34
0
雪    币: 1356
活跃值: (404)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
8
Visio画的,但是感觉Visio还是不够好用啊
2015-12-25 19:04
0
雪    币: 191
活跃值: (195)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
哈哈不错不错,太给力的文章啦,学习oat格式的好资料多谢分享,
2016-5-28 08:52
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
感谢楼主分享,嘿嘿
2016-11-16 00:44
0
雪    币: 161
活跃值: (797)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
文章给出了native code的起始地址,结束地址在哪?
2021-7-2 22:23
0
雪    币: 1356
活跃值: (404)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
12
好久没看了。貌似如果是QuickCode,size 就存在code前面,调用OatMethod::GetQuickCodeSize()就行,相关代码:
http://androidxref.com/5.1.1_r6/xref/art/runtime/oat_file.h
http://androidxref.com/5.1.1_r6/xref/art/runtime/oat_file-inl.h
2021-7-12 19:41
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
好图
2024-1-17 22:41
0
雪    币: 3090
活跃值: (30881)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢分享
2024-1-18 10:13
1
游客
登录 | 注册 方可回帖
返回
//