-
-
[求助]hook RtlFreeHeap以后出现访问错误
-
发表于:
2006-8-24 09:49
6335
-
[求助]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在用户的地址空间呀。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课