efiizient mit RemoteProcess Pointern arbeiten

Ich versuche gerade ein Tool zu bauen, was diverse Informationen über die geladenen Module eines Prozesses anzeigt (Windows, vorerst nur 32-bit Prozesse). Dazu hole ich mir zuert die Liste aus dem PEB und grase dann die PE's ab.
Das Problem ist, dass der Code arg häßlich wird, da Stückchenweise Bereiche in den auflistenden Prozess kopiert (ReadProcessMemory) werden, um sie auszuwerten (PE-Header -> DirectoryEntry -> Data). Kann man sowas nicht auch elegant lösen, indem man sich einfach die entsprechenden Pages in den eigenen Prozess mappt und dann im lokalen Adressraum arbeitet?
Ich seh nur ne Lösung mit FileMappings, allerdings müsste ich dazu auch erst wieder nen RemoteThread erzeugen, der das entsprechende Mapping erzeugt. Gibt es da noch nen schöneren weg?
 
Zurück
Oben