-
-
[求助]hook RtlFreeHeap以后出现访问错误
-
发表于:
2006-8-24 09:49
6334
-
[求助]hook RtlFreeHeap以后出现访问错误
PHEAP_ENTRY pFreeEntry;//8字节管理结构
char *pFreeEnd;
hook函数为__declspec (naked)BOOLEAN WINAPI My_RtlFreeHeap( HANDLE hHeap,ULONG dwFlags, PVOID pAddress)
{
读取参数pAddress
pFreeEntry=(PHEAP_ENTRY)pAddress-1;
if((unsigned long)pFreeEntry>0x00010000&&(unsigned long)pFreeEntry<0x7ffeffff)
{
pFreeEnd=(char*)(pFreeEntry+pFreeEntry->Size-1);
if(!(pFreeEntry->Flags& HEAP_ENTRY_VIRTUAL_ALLOC))//如果不是虚拟块
{ for(freeStr=0;freeStr<8;freeStr++)
{ pFreeEnd=pFreeEnd+freeStr;
if((*pFreeEnd)!='A')----XXXXX
break;
}
}
}
..............
...............
}
程序运行出现访问错误在位置XXXXX处:0x01db8004(pFreeEnd)地址不能读取,为什么会这样呢?
0x01db8004在用户的地址空间呀。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)