首页
社区
课程
招聘
[求助]ReadProcessMemory调用失败
2006-8-29 11:46 5363

[求助]ReadProcessMemory调用失败

2006-8-29 11:46
5363
拦截了RtlFreeHeap,hook函数为:
__declspec (naked)BOOLEAN WINAPI My_RtlFreeHeap( HANDLE hHeap,ULONG dwFlags, PVOID pAddress)

{..............
....................
//param_RtlFreeHeap.pAddress=pAddress
//pFreeEntry,pFreeEntryNext分别为指向当前内存块以及其后相邻内存块的 8字节管理结构的指针
//FreeEntryNext类型为8字节管理结构的结构体变量
pFreeEntry=(PHEAP_ENTRY)param_RtlFreeHeap.pAddress-1;
pFreeEntryNext=pFreeEntry+pFreeEntry->Size;
if(!(pFreeEntry->Flags& HEAP_ENTRY_VIRTUAL_ALLOC))
//读取当前内存块其后相邻内存块的 8字节管理结构
if(ReadProcessMemory(hook_api_RtlFreeHeap.hProc,pFreeEntryNext,&FreeEntryNext,8,0))
.....................
.....................
}
可是hook以后,在程序运行过程中ReadProcessMemory有时会调用失败,为什么会这样呢?

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

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 139
活跃值: (111)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bookworm 3 2006-8-31 05:50
2
0
DWORD dwError = HRESULT_FROM_WIN32( GetLastError() );

dwError = ?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wakeman 2006-9-3 16:11
3
0

调用失败就把错误码打出来,最好写到文件里看看
游客
登录 | 注册 方可回帖
返回