首页
社区
课程
招聘
[求助]VirtualProtect函数执行失败
发表于: 2010-5-24 20:59 5860

[求助]VirtualProtect函数执行失败

2010-5-24 20:59
5860
这个VirtualProtect函数问什么老是执行失败呢,返回值一直是1,大家看看什么问题
VC XP平台

	PDWORD dwOldType;
	LPVOID lpvBase;               // 获取内存的基地址
	lpvBase = VirtualAlloc(NULL,0x1000,MEM_COMMIT,PAGE_READWRITE);
	if (lpvBase == NULL )		AfxMessageBox("内存分配失败");
	if(0==::VirtualProtect(lpvBase,0x1000,PAGE_EXECUTE_READ | PAGE_GUARD,dwOldType))
	AfxMessageBox("执行失败");

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 611
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你代码中,存放lpflOldProtect的地址是无效的,因为你只申请个了PDWORD dwOldType变量,但并没有给他分配有效的内存地址。
可以改成PDWORD dwOldType=new DWORD;
或者干脆       
DWORD dwOldType;
if(0==::VirtualProtect(lpvBase,0x1000,PAGE_EXECUTE_READ | PAGE_GUARD,&dwOldType))
2010-5-24 22:35
0
雪    币: 126
活跃值: (37)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
3
谢谢,的确是这样
2010-5-25 22:08
0
游客
登录 | 注册 方可回帖
返回
//