首页
社区
课程
招聘
[求助]修改PE优先装入地址,总是修改出错
发表于: 2009-10-22 11:34 4025

[求助]修改PE优先装入地址,总是修改出错

2009-10-22 11:34
4025
刚学习PE这部分知识,想先熟悉联系练习手,准备试试写一个可以将PE格式文件在运行时优先装入的地址。在程序中写了有一个窗口,是用来接收输入地址的。但是将字符串转换16进制地址很麻烦,所以想使用StringToAddress,无奈没有parser.dll,下载了一个竟然无法用。
所以为了简单起见,我就在程序中使用一个全局变量,这个全局变量保存的便是一个新的地址,如下所示:
.data
dwAddrs                dd        00401000h
.
.
.
.code
我使用文件内存映射机制打开需要修改的文件,在打开文件时权限是可读可写。实际上的确是可以进行修改,只是修改后的地址并非是我设置的00401000h,而是一个00000001h,是在不知道是什么原因,修改的几条指令如下:
esi是一个指向IMAGE_NT_SIGNATURE指针
lea        edi,[esi].OptionalHeader.ImageBase
push        esi
assume        esi:nothing
lea        esi,dwAddrs
cld
stosd
.
.
.
请问是什么原因啊?请教各位给我讲讲。

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
解决了。。。。。。
2009-10-22 14:32
0
游客
登录 | 注册 方可回帖
返回
//