首页
社区
课程
招聘
[求助]Android6.0 SO地址偏移问题
发表于: 2018-5-1 10:37 3751

[求助]Android6.0 SO地址偏移问题

2018-5-1 10:37
3751
  下图是地址       0X25B386是 JNI_Onload跳转地址




然后我查看了内存Libart.so的地址是0xB4865000 ,如下图



按照这样计算的偏移应该是  0xB4AC0386  ,如下图  但是实际地址明显不对的


然后我继续往下走  ,到这里  0xB4AB2386   我发现才是正确的地址 ,实际地址和我找出的地址偏差了0xE000   也就是实际地址真实地址比通过静态IDA找到的地址少了0xE000 这是为什么呢,  Android6.0手机是这样,在4.4的上没问题

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我猜是libart.so版本不一致
2018-5-2 09:17
0
雪    币: 7
活跃值: (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是从手机导出的libart.so文件
2018-5-2 10:09
0
雪    币: 1144
活跃值: (1557)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我也遇到了这个问题,所以我就是自己搜函数名再去找地址
2018-5-2 10:57
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
额,确认下下吧。6.0和4.4应该导出两个版本的so文件,有没有搞混嘞。我碰到过这样的问题最后发现就是版本弄错了,动态库靠地址找入口    是不会算错的
2018-5-3 16:06
0
雪    币: 1096
活跃值: (379)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
第一个PT_LOAD节中,p_vaddr就是偏移offset。后续所有地址相关的tag换算都要减去这个offset。这种现象是从Android6.0之后存在的,猜测是编译选项导致。
2018-5-3 18:29
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
因为存在load_bias
2018-5-8 12:21
0
游客
登录 | 注册 方可回帖
返回