首页
社区
课程
招聘
[求助]WriteProcessMemory总是失败怎么回事啊
发表于: 2013-12-30 09:32 4729

[求助]WriteProcessMemory总是失败怎么回事啊

2013-12-30 09:32
4729
Remoteaddr=VirtualAllocEx(hp,(PVOID)BaseAddr,(ULONG)(ULONG(AllSize/0x1000)+1)*0x1000,MEM_COMMIT |MEM_RESERVE,PAGE_EXECUTE_READWRITE);

if (!WriteProcessMemory(hp,Remoteaddr,(PVOID)LocalVirtualAddress,(ULONG)(ULONG(AllSize/0x1000)+1)*0x1000,NULL))
                                           {
                       
                                                   DWORD a=  GetLastError();
                                                   ::MessageBoxA(NULL,"写入失败!","",MB_OK);
                                           }

基本上除了Remoteaddr之外都是ULONG类型的变量,
返回a为487,是不可读写的内存地址,但是我用CE可以写啊!不知道错在哪儿!初学VC,望大牛们指教!

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
VirtualAllocEx内存分配成功了吗?
试试VirtualProtectEx
还有就是你打开的进程有没有PROCESS_VM_WRITE权限
2013-12-30 09:41
0
雪    币: 203
活跃值: (214)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
再检查下是不是有UAC,
2013-12-30 10:29
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
申请内存成功的!
2013-12-30 15:02
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
每次都是右键管理员运行的!系统是WIN7!
2013-12-30 15:03
0
雪    币: 160
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
MEM_RESERVE申请的内存能写入吗?直接COMMIT即可
2013-12-30 15:14
0
雪    币: 2120
活跃值: (73)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
是不是32位进程写64位进程了?
2013-12-31 09:09
0
游客
登录 | 注册 方可回帖
返回
//