Adressraum eines Prozesses ermitteln
-
Hallo,
wie die Überschrift schon sagt, will ich den Adressraum im RAM eines Prozesses ermitteln. Ein Handle mit genügend Rechten hab ich bereits erzeugt.
Danke im voraus!!
-
Das Problem hat sich bereits erledigt.
Mit solch einer Funktion kann man ermitteln, ob der Speicher zum Prozess gehört.void GetMem(){ MEMORY_BASIC_INFORMATION mbi; unsigned int adress = 0x400000; do { VirtualQueryEx( hProcess,(void*)adress,&mbi,sizeof(MEMORY_BASIC_INFORMATION)); adress += mbi.RegionSize; } while(adress < 0x80000000);
-
Wenn Du das Buch "Advanced Windows programming" hast, dann findest Du darin das VMMAP.EXE Beispiel.
In der Theorie musst Du bei Adresse 0 anfangen. Du kannst eine EXE oder Service auch sehr hoch in den Speicher laden!