-
-
[求助]PsSetCreateProcessNotifyRoutine的问题
-
发表于:
2009-7-13 11:08
4429
-
[求助]PsSetCreateProcessNotifyRoutine的问题
使用PsSetCreateProcessNotifyRoutine注册回调函数后,试图利用如下代码获得获得PEB中的LDR,
if (Create)
{
PsLookupProcessByProcessId(ProcessId,&pepro);
//方法1:从PEB中获取
imagename=(char*)(pepro+0x174);
if (strncmp("notepad.exe",imagename,11)!=0)
{
return;
}
peb=*((DWORD*)(pepro+0x1b0)); //peb=peprocess->Peb
pldrdata=(PPEB_LDR_DATA)*((DWORD*)(peb+0xc));
loadhead=(PLDR_MODULE)&(pldrdata->InLoadOrderModuleList);
curmodule=(PLDR_MODULE)loadhead->InLoadOrderModuleList.Flink;
但是peb+0xc这个地址的内容(就是ldr_data )老是为NULL,所以我想问一下,在这个callback执行的时候,难道peb这个字段还没有初始化吗?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!