首页
社区
课程
招聘
[求助]如何HOOK WriteProcessMemory 写内存的内容
发表于: 2009-5-1 12:48 8066

[求助]如何HOOK WriteProcessMemory 写内存的内容

2009-5-1 12:48
8066
目前已经HOOK住了WriteProcessMemory,但想获取WriteProcessMemory写内存时的地址和内容然后保存在字符串中,实在不知怎么做了!!!希望高手指教!

就是获取下面声明中的:lpBaseAddress和lpBuffer的内容:
WriteProcessMemory (hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer; nSize: DWORD; var lpNumberOfBytesWritten: DWORD): BOOL;

其实就是类型转换的问题, 这里的Pointer类型的lpBaseAddress和lpBuffer要怎么样转成字符串?

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 612
活跃值: (996)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
用Format就可以了
例如:
Format('BaseAddress:%p',[lpBaseAddress]);
2009-5-1 14:12
0
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=zzage;615055]用Format就可以了
例如:
Format('BaseAddress:%p',[lpBaseAddress]);[/QUOTE]

很是感谢.我试试!
2009-5-1 14:59
0
雪    币: 264
活跃值: (11)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
4
怎么hook的 开源吧 呵呵~
2009-5-1 16:28
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我都不用那函数的
2009-5-1 16:31
0
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=zzage;615055]用Format就可以了
例如:
Format('BaseAddress:%p',[lpBaseAddress]);[/QUOTE]

取lpBaseAddress是可以了.
不过取lpBuffer不对,要的是象$45这样的byte型数值,但取的是$45的内存地址.
2009-5-1 16:40
0
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
memcpy(mybuf,lpBaseAddress,45)
2009-5-2 01:19
0
游客
登录 | 注册 方可回帖
返回
//