Kompletten ArbeitsSpeicher in Datei schreiben.

Nebulus

Vice Admiral Special
Mitglied seit
01.03.2006
Beiträge
806
Renomée
53
Hi,

ich will unter Windows XP, 32Bit, den kompletten Speicher, des laufenden Systems, in eine Datei speichern. Wenn also 1GB Ram im Rechner ist, soll die Datei 1GB groß sein.

Welchen Ansatz in c/c++ kann man hier verfolgen ?
 
dürfte AFAIK als "normales" C Programm auch nicht gehen, da die Windows Sicherheitseinstellungen das nicht zulassen (dürften).


Ansonsten einfach ein Adresszeiger nehmen und von NUll an alles auslesen, frag mich aber nicht was da heraus kommt ;D
 
dürfte AFAIK als "normales" C Programm auch nicht gehen, da die Windows Sicherheitseinstellungen das nicht zulassen (dürften).
Korrekt, das musst du schon aus dem Kernelspace machen. Welche Möglichkeiten Windows dafür bietet, weiß ich aber auch nicht.

Ansonsten einfach ein Adresszeiger nehmen und von NUll an alles auslesen, frag mich aber nicht was da heraus kommt ;D
Jede Menge Speicherzugriffsfehler. 8)
 
Es gibt ja das Windows DDK (http://www.microsoft.com/whdc/devtools/ddk/default.mspx) und dort sollten sich jede Menge Informationen finden lassen wie man in den Kernelspace kommt. Von dort aus sollte sich dann *alles* machen lassen.

Das muss nicht sein. Ich kenne Windows nicht annähernd gut genug, um das sicher zu sagen, aber es ist nicht gesagt, dass genügend Funktionalität frei gegeben wird, um die gewünschte Funktion implementieren zu können. Es kommt sehr darauf an, wie MS das DDK designed hat, und auf welche Kernelfunktionen sie damit Zugriff gewähren.
 
Das kann funktionieren. Früher gab es im NT DDK einen Beispieltreiber, mit welchem ich es mal ausprobieren würde. Stichwort: mapmem (den Code des Treibers hab ich hier z.B. gerade wieder gefunden: http://cd.textfiles.com/cica9308/UNZIPPED/NT/MAPMEM/)

Damit habe ich es vor Ewigkeiten mal geschafft auf bestimmte geschützte Speicherbereiche zuzugreifen. Ich hab leider im Moment nur keinen Plan mehr, wo die Sources dafür sind.
 
Zurück
Oben Unten