首页
社区
课程
招聘
[求助]请教如何判断指针可访问权限
发表于: 2011-5-18 08:18 4139

[求助]请教如何判断指针可访问权限

2011-5-18 08:18
4139
小弟注入一个DLL到目标进程。读取其内部一个结构数组。

为什么通过AfxIsValidAddress判断了指针读写权限后。

有个别地址还是会抛C0000005权限异常呢?

代码如下:



	__try
	{
		for (Index=ARRAYHEADER;Index<MAXADDRESS;Index+=4) //ARRAYHEADER MAXADDRESS 为自定义宏
		{
			Pointer=(PDWORD)Index;
			if (*Pointer!=SIGIN) //SIGIN 为自定义宏
			{
				continue;
			}
			Target=(PDWORD)((DWORD)Pointer+OFFSET);//OFFSET 为自定义宏
			if (AfxIsValidAddress(Target,sizeof(PDWORD),TRUE)==TRUE)
			{
				Debug.Format(_T("%x"),*Target);//为什么判断了指针读写权限后。还是会抛C0000005权限异常呢?
				AfxMessageBox(Debug);
			}
		}
	}
	__except(EXCEPTION_EXECUTE_HANDLER)
	{
		Debug.Format(_T("%x"),GetExceptionCode());
		AfxMessageBox(Debug);
	}



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 258
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
地址valid(有效)不代表可访问。。
VirtualQuery查询权限。
2011-5-18 09:34
0
游客
登录 | 注册 方可回帖
返回
//