首页
社区
课程
招聘
[求助]WriteProcessMemory函数参数定义问题
发表于: 2008-10-11 20:31 7215

[求助]WriteProcessMemory函数参数定义问题

2008-10-11 20:31
7215
在VC中:
我想把内存00401091的数据变为0xEB.但是写到第二和第三个参数时lpBaseAddress和lpBuffer没有用对。
不知道怎么样定义那两个参数的格式然后传入?
非常感谢能回答.

BOOL WriteProcessMemory(
  HANDLE hProcess,                // handle to process
  LPVOID lpBaseAddress,           // base of memory area
  LPCVOID lpBuffer,               // data buffer
  SIZE_T nSize,                   // count of bytes to write
  SIZE_T * lpNumberOfBytesWritten // count of bytes written
);

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
把你写的放出来看看
2008-10-11 20:53
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
3
szText db 0EBh

invoke GetCurrentProcess
invoke WriteProcessMemory,eax,00401091h,addr szText,1,NULL
2008-10-12 02:45
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
好像没什么错,调试一下看看。

全局变量,我觉得用offset比较好,addr一般是用在局部变量上,会占用eax,虽然它们在这里没什么区别。
2008-10-12 12:27
0
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
byte buf = 0xeb;
WriteProcessMemory(hProcess, (LPVOID)0x00401091, &buf, 1, NULL);
2008-10-12 22:55
0
雪    币: 158
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
找到答案了,主要是想用VC实现的.

DWORD  add= 0x00401091;
DWORD date=0xEB;
WriteProcessMemory(hProcess,(LPVOID)add,&date,1,NULL)
原来用DWORD定义.
谢谢大家.
2008-10-13 18:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不是用什么定义的问题,是将那个值转成地址
2008-10-15 13:45
0
游客
登录 | 注册 方可回帖
返回
//