首页
论坛
课程
招聘
[原创]【ARM】安卓SO文件重定位类型总结
2017-11-13 17:15 3839

[原创]【ARM】安卓SO文件重定位类型总结

2017-11-13 17:15
3839
1 承接上一篇说rel got plt的帖子, 这篇叨叨下重定位类型
上一贴《安卓SO中GOT REL PLT 作用与关系》
https://bbs.pediy.com/thread-221821.htm 

有前辈写过类似的内容
《基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现》
https://bbs.pediy.com/thread-193720.htm


2 重定位类型总结:



3 这个有什么卵用?
(1)提高看汇编的能力,摆弄明白了,一眼就能从汇编里看出来,怎么访问或调用符号的。
(2)got表hook时,有点用处。
(3)DIY魔改ELF时,有点用处。
(4)写调试器时,有点用处。
(5)写VMP或变形时,有点用处。


4 样本上传弄好了,有感兴趣的可以看下
都是很无聊很蛋疼的细节,估计没什么人感兴趣~



第五届安全开发者峰会(SDC 2021)议题征集正式开启!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 2727
活跃值: 活跃值 (156)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MaYil 活跃值 2017-11-14 09:59
2
0
感谢分享
雪    币: 7703
活跃值: 活跃值 (713)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 活跃值 2017-11-14 10:21
3
0
安卓studio编译的SO,好像没有重定位表?都是用call得到返回地址然后加偏移得到实际地址。
雪    币: 1038
活跃值: 活跃值 (1328)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
爱吃菠菜 活跃值 1 2017-11-14 11:03
4
0



tDasm

安卓studio编译的SO,好像没有重定位表?都是用call得到返回地址然后加偏移得到实际地址。
内部函数的调用可能是相对寻址,也可能通过生成一个重定位项然后走plt-got,
我猜这应该和编译选项有关,具体希望有大佬能指点一下。。

上传的样本中使用的是ndkR12编译,表格中的1(1)就没有生成重定位项,而是直接通过相对寻址完成的跳转。
同样的样本使用nkdR13编译时,该函数就没有用相对寻址,而是生成重定位项和plt项got项了。
游客
登录 | 注册 方可回帖
返回