首页
社区
课程
招聘
[求助]如何在运行时得到当前.data的首地址?
发表于: 2007-9-18 20:31 4196

[求助]如何在运行时得到当前.data的首地址?

2007-9-18 20:31
4196
我在写一个调试器,需要被调试的进程修改自己的一块内存地址,然后由调试进程用ReadProcessMemory来读取,达到通讯目的。
.code区域的首地址通常是固定的,但程序自己不能直接用mov byte ptr CS:[xxx], xxx来修改.code区域。如果修改会产生访问冲突。
因此,我想到了修改.data域。

现在问题是,.data域的首地址是根据.code域的长度变化的,因此我在写汇编码时不能通过hard-code的方式将地址写死。请问,如何才能在运行时确定.data的首地址?

第一次在这里发帖,希望能得到高手指点
谢谢

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 50161
活跃值: (20615)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
.code也可读写,你用VirtualProtectEx将权限设置一下。

若要得到data,你可以通过区块表获得这个。你查了一下PE文档。
2007-9-18 20:55
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
问题已解决,kanxue解释得简单明了,非常感谢
2007-9-24 02:40
0
游客
登录 | 注册 方可回帖
返回
//