首页
社区
课程
招聘
[讨论]在dll重定位表的最后。添加中间的位置行么?
发表于: 2008-4-8 23:32 4224

[讨论]在dll重定位表的最后。添加中间的位置行么?

2008-4-8 23:32
4224
在一个dll 中添加了点代码。可是没法重定位。在dll的最后。添加中间的重定位。折腾了半天也不好使。到底这样行不行。例如:最后是0021000 的位置了。我想在这之后添加00009000 的某个位置重定位。不知行不行。我试了下在9000 的位置添加了。然后依次串了4字节。也不好使了。到底咋弄。

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 50161
活跃值: (20620)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
在原重定位表后面追加新的一个段。即追加下面的结构上去:
IMAGE_BASE_RELOCATION STRUCT
VirtualAddress dd 0
SizeOfBlock dd 0
Type1 dw 0;
IMAGE_RELOCATION ENDS
2008-4-9 09:58
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢。不过我还得问下。我在新添加的段中的地址是行么??就是假设最后排到重定位的地址是2000了。我最后添加的段。是500位置的重定位。这样行么?
2008-4-9 12:52
0
雪    币: 359
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
先不要添加区段,直接用OD运行程序,然后Alt+M看一下,要添加的地方是否已经被其他区段占用,如果没有被占用,那就可以添加了。
在后面添加不知道行不行,不过这个笨办法肯定可以:先把后面的段全部导出来,再导入自己的段,最后把之前导出的一一导入,并修改虚拟地址和虚拟大小,以及整个exe的镜像大小。
2008-4-10 08:58
0
游客
登录 | 注册 方可回帖
返回
//