首页
社区
课程
招聘
[求助]修改imagebase还需要修改哪些东西呢?
发表于: 2016-8-12 11:08 7811

[求助]修改imagebase还需要修改哪些东西呢?

2016-8-12 11:08
7811
最近学到PE重定位表,我想把imagebase 0x400000 修改为0x500000,我想的是把重定位表里面的每个子项指向的地址加0x100000,然后把imageBase改为0x500000,但是这样还是没法运行,,不知道我的思路对不对还是漏改了什么,求大侠们指点一二

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

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


修改后:
上传的附件:
2016-8-12 11:32
0
雪    币: 8201
活跃值: (2706)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好像要修改每个需重定位的绝对地址吧,没试过
2016-8-12 12:01
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
嗯,我修改了还是不行,应该是哪里错了或者漏了
2016-8-12 13:44
0
雪    币: 7
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你确定你的程序运行起来后基址是你修改之后的值吗?
2016-8-12 16:51
0
雪    币: 576
活跃值: (1163)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
不需要修改重定位表吧?难道我记错了。。
2016-8-12 18:24
0
雪    币: 689
活跃值: (422)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
8
重定位表不需要修改,ImageBase改了就行
2016-8-13 09:50
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
只改ImageBase不行的喔,无法运行的
2016-8-13 14:03
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我也不是很清楚……
2016-8-13 14:04
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
被我改了后压根就运行不起来……
2016-8-13 14:05
0
雪    币: 4390
活跃值: (4378)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
改起来超级麻烦吧.

主要是要重新计算内存地址操作区.

比如 _except_handler   还有常量地址  比如 push const       mov [const],e*x/value

这样子的.
2016-8-13 17:38
0
雪    币: 7
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
在PE文件头的File Header中有一个Characteristics字段,你把IMAGE_FILE_RELOCS_STRIPPED属性加上,然后再试试
2016-8-14 08:46
0
雪    币: 0
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
菜鸟飘过
程序入口地址改了吗,我记得好像也需要修改一下。。
2016-8-15 12:46
0
雪    币: 1448
活跃值: (579)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
基址被系统改了,不是你修改的0x500000,打开OD可以看看
2020-3-13 17:14
0
雪    币: 3312
活跃值: (3913)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
如果你修改了ImageBase,那么在PE加载器加载这个模块时会出现以下几种情况:1.模块刚好加载到修改后的ImageBase,PE加载器会认为不需要做重定位处理了,很显然,程序是无法运行的,要想使模块正确加载是需要进行重定位处理的;2.模块刚好加载到旧ImageBase,此时由于ImageBase和实际加载的位置不同,所以PE加载器认为需要进行重定位处理的,但实际上这种情况下不需要进行重定位处理;3.模块即没有加载到旧ImageBase也没有加载到新ImageBase,PE加载器一样会进行重定位处理,并且是按照修改后的ImageBase作重定位处理的,模块依然不能正确使用;结论:修改ImageBase,模块中所有需要重定位的基地址都需要修改,否则模块无法正确使用
最后于 2020-4-22 22:17 被Mr.hack编辑 ,原因:
2020-3-15 12:48
0
游客
登录 | 注册 方可回帖
返回
//