nabend erstmal,
ich komm gleich zu meinem problem.
Ich nehm ma ein beispiel.
Ich hab die Addy 0x00300000 (fake bsp)
Nun möcht ich auf diese addy via VirtualProtect flag PAGE_GUARD
drauf machen sodass eine Exception ausgelöst wird.
So
Hier kommt meine frage.
Nun möcht ich die Exception in mein Handler abfangen.
So ungefähr
Wie krieg ich das nun bewerkstelligt?
ich komm gleich zu meinem problem.
Ich nehm ma ein beispiel.
Ich hab die Addy 0x00300000 (fake bsp)
Nun möcht ich auf diese addy via VirtualProtect flag PAGE_GUARD
drauf machen sodass eine Exception ausgelöst wird.
So
Code:
[...] VirtualProtect((LPVOID)0x00300000, 4, PAGE_EXECUTE_READWRITE | PAGE_GUARD, &oldProtect);
Nun möcht ich die Exception in mein Handler abfangen.
So ungefähr
Code:
void Handle(EXCEPTION_POINTERS* ep)
{
if(ep->ContextRecord->Eip == 0x00300000)
{
MessageBox(NULL, "Address Accessed", "Information", MB_OK);
ep->ContextRecord->Eip = 0x00500000;
}
}