Über
VirtualQuery kann man sich schnell durch den Speicher hangeln.
- bei 0 (nil) anfangen und dann steht in der BlockInfo, wie groß er ist, also wo der Nächste anfängt
- außerdem sagt er was mit ihm los ist
- über GetModuleFileName (
Handle=Pointer) bekommt man den Namen der
DLL/EXE, wenn de Block den Anfang des Moduls darstellt
Oder du ließt einfach Byte für Byte aus (in einem Try-Except) und kopierst das in deine Snapshot-Datei
oder machst es zumindestens in 4 KB-Blöcken (das dürfte aktuell die kleinste Größe sein, welche Windows über
VirtualAlloc bereitstellt).