首页
社区
课程
招聘
[求助]求android中获取so库在内存中基地址的方法
发表于: 2012-12-18 11:27 17952

[求助]求android中获取so库在内存中基地址的方法

2012-12-18 11:27
17952
知道有一种通过dlopen返回的handle转换成基地址的方法,可是不知道具体思路。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 74
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
共享库加载的基址可以在 /proc/<pid>/maps 中找到。
<pid>是你要查看进程的进程号
2012-12-20 20:09
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bdw
3
除了这招
2012-12-26 19:29
0
雪    币: 74
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
先通过dlopen、dlsym找到so中某个函数的地址,然后计算此函数在so中的偏移量,函数地址减去偏移量,就是so的地址了吧
2013-1-10 20:25
1
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
如何计算此函数在so中的偏移量呢?静态地,可以通过readelf来获取,可动态的如何获取呢?莫非再做一遍link的工作,load so,获取偏移量?
楼主为啥不打算用/proc/<pid>/maps来获取呢?有啥特别原因吗?

2013-1-14 03:31
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bdw
6
如楼上的解释,不好计算偏移
2013-1-17 00:07
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bdw
7
没有特别原因,就不想用这个
2013-1-17 00:08
0
游客
登录 | 注册 方可回帖
返回
//