Entwickler-Ecke
Windows API - Daten aus Arbeitspeicher einer anderen Anwendung lesen
glotzer - Di 22.12.09 17:13
Titel: Daten aus Arbeitspeicher einer anderen Anwendung lesen
ich hab ein programm mit caption "xyz" (es ist sichergestellt das das programm nur einmal ausgeführt wird)
mein program soll aus diesem programm daten auslesen
die adresse ist der wert im speicer bei adresse [beginn von xyz.exe] +5DD96 + 24
(alle daten liegen als hex zahl vor, mein ergebnis sollte aber menschenleslich sein, also dizimalzahl)
und dort will ich jetzt nen 4bytes integer lesen.
mein problem ist das ich mich noch nie richtig mit dem arbietsspeicher auseinandergesetzt hab, ich hab keine ahnung wie ich and die processId für ReadProcessMemory komm, und wie ich in delphi mit hex zahlen umgeh
könnt mir da bitte wer helfen?
Flamefire - Di 22.12.09 18:54
also
1)Hexzahlen:
In delphi wird das als $BADF00D dargestellt. Also mit $ davor
demzufolge strtoint('$'+hexStr); bzw inttohex(intval);
2)lesen aus speicher mittels openprocess, readprocessmemory, closehandle. in der reihenfolge
3)wenn du nicht weißt, wie du mit den Daten klarkommst: Ollydbg für den tiefen Blick. CheatEnginge zum Lesen für den flachen Blick
Rest ist fleißarbeit von deiner Seite!
BenBE - Di 22.12.09 18:55
Zwecks Hex-Zahlen: Im Source mit $ prefixen; ansonsten IntToHex vs. IntToStr.
Bzgl. ReadProcessMemory gibt's ne ganze Reihe beispiele hier im Forum. Die ProzessID bekommst du anhand des Fenster-Handles über nen gewissen Umweg, wenn Du GetWindowProcessThreadId (o.s.ä.) mit deinem Fenster-Handle aufrufst.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!