This is a newbie, or a stupid question.
when it's newbie, then I'm complete no knowledge in what the physics memory, when it's stupid, then I'm confused by this things:
this is the code that someone public in old time, what he want do is clean hook in PsSetLoadImageNotifyRoutine, operate mem by ZwSystemDebugControl
the point is about pRealPsSetLoadImageNotifyRoutine, why, how he del the addr by 0x80000000?!and then how he be this sure to be treat as the corresponding physics addr?
I'm not a kernel devloper : |, in seriouse the only my idea about ZwSystemDebugControl is it able to access physics mem, and kernel memory
My feel is total what up, after 5 hours google+ windbg(start from 11:00 pm), I do't get the point, why it work, by delete 0x80000000 to be a physics addr. Doesn't the addr that paged, will be the addr that where it locale in real memory? or after paged, it still was in the addr that os can control? does windows map its kernel in 0x00000000, in this case?
Sry for my bad english, as well
when it's newbie, then I'm complete no knowledge in what the physics memory, when it's stupid, then I'm confused by this things:
Code: Select all
that DebugCopyPhyMemory_0 equ 10 in the orginal code, very sure pRealPsSetLoadImageNotifyRoutine = (BYTE *)((BYTE *)pPsSetLoadImageNotifyRoutine - (BYTE *)hNtOs_Module);
pRealPsSetLoadImageNotifyRoutine = (BYTE *)((BYTE *)(PSYSTEM_MODULE_INFORMATION)pSysModuleInfo->Base + (DWORD)pRealPsSetLoadImageNotifyRoutine);
...
__asm
{
and pRealPsSetLoadImageNotifyRoutine, 7FFFFFFFh
}
...
dwRet = pZwSystemDebugControl(DebugCopyPhyMemory_0, &structMemory, sizeof(MemoryChunk), 0, 0, &dwReturnLength);
this is the code that someone public in old time, what he want do is clean hook in PsSetLoadImageNotifyRoutine, operate mem by ZwSystemDebugControl
the point is about pRealPsSetLoadImageNotifyRoutine, why, how he del the addr by 0x80000000?!and then how he be this sure to be treat as the corresponding physics addr?
I'm not a kernel devloper : |, in seriouse the only my idea about ZwSystemDebugControl is it able to access physics mem, and kernel memory
My feel is total what up, after 5 hours google+ windbg(start from 11:00 pm), I do't get the point, why it work, by delete 0x80000000 to be a physics addr. Doesn't the addr that paged, will be the addr that where it locale in real memory? or after paged, it still was in the addr that os can control? does windows map its kernel in 0x00000000, in this case?
Sry for my bad english, as well