首页
社区
课程
招聘
[求助]《加密与解密》中修复重定位表的问题
发表于: 2007-11-27 22:32 6045

[求助]《加密与解密》中修复重定位表的问题

2007-11-27 22:32
6045
《加密与解密》第二版中修改DLL重定位表一节,有一个例子修改DLL文件中的代码,需要重定位。
其中有一步是修改.data区块使VSize=RSize=0x1000,随书光盘中的DLL文件VSize=0x0A40,RSize=0x1000,所以修改VSize=0x1000没有问题。
后来我又把光盘中的代码自己编译了一下生成了一个DLL文件,结果这个DLL文件的.data区块VSize=0x3240,RSize=0x3000,到修改.data一步时如果更改VSize和RSize中任意一项都会导致运行例子中的EXE文件时提示那个DLL文件是无效的Windows映像。
如果不更改这两项的值,继续下面的操作,到增加重定位项目后,用LordPE查看重定位表会提示访问违规。但是对应的EXE文件可以正常运行,增加的字符串也正确重定位了。
不知道问题出在哪里,也不知道如果不修改VSize或RSize的数值是否会有其它问题。

另外,请问在VC中怎么设置生成的EXE文件的映象基址啊?
发现光盘中的DLL文件基址是0x00400000,我自己编译的是0x10000000,文件大小也不一样。

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
第一个问题一简单办法,OD加载,停在入口点,将内存映像Dump出来,应能达到你要求。
不过,增加重定位表,好像不需要调整RSize,VSize
你可以将新增加的重定位作为一个新的index追加到原重定位表后面

生成的EXE文件的映象基址
上传的附件:
2007-11-27 22:55
0
游客
登录 | 注册 方可回帖
返回
//