首页
社区
课程
招聘
[求助] 初学PE修复重定位的一些问题
发表于: 2017-5-5 13:55 3578

[求助] 初学PE修复重定位的一些问题

2017-5-5 13:55
3578

请教一下看雪的大神们:

       我在初学PE结构,其中对重定位表有一些不明白的地方,问题如下:

              1.什么是修复PE重定位表?

              2.重定位表中不是已经涵盖了需要修复的地址了嘛?为什么加密数据的时候还要修复重定位表?

              3.所谓的修复重定位表的意思,是不是就是把原来的重定位表移到新的节中,然后修改重定位表的RVA到我们新增的节的地址就好了,因为要确保能找到重定位表中的数据。

              4.那我要是修改了exe的IMAGEBASE,为什么还要修复重定位表?他的地址不是imagebase+偏移嘛?那应该不需要修复重定位表才对呀。应该能偏移找到重定位表呀?

       希望论坛大神能帮忙解答下,本人在此非常感谢!!!!


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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

1.  修复重定位表一般是重建重定位表数据
2.  重定位表中的数据在加密之后,导致部分数据需要重新计算重定位。所以需要修复。比如说一个字符串,本来是在401022里。然后搬走了。搬到了401222.那需要吧401222的重定位数据写入重定位表。况且加密填入的代码或者数据也可能需要添加重定位项。
3.  参照上边。具体数据具体分析。
4.  修改了exe的IMAGEBASE,如果本身未改变exe其他元素,而exe又有重定位表。应该是不需要修复。如果exe本身不具有重定位表。需要重建。

2017-5-5 14:27
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢,好像明白了,重定位表是一张存储需要重定位地址的一张表,具体如何修复,就看程序的数据发生改变时,数据是否移位了,移位了程序找不到,就需要重定位表了,是这样嘛?他的主要功能就是记录了需要重定位的地址。能这样理解吗?
2017-5-5 14:50
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
对  就是这么理解。
2017-5-5 14:58
0
游客
登录 | 注册 方可回帖
返回