PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : reverse engineering



errox
12.08.2007, 15:28
Hallo,
ich habe bereits die suche verwendet aber nichts gescheites gefunden :(
Ich wollte fragen wie ich den inhalt von der speicheradresse "X" ausgeben kann. Der inhalt von "X" ist dynamisch. Sprich ändert sich immer wieder.

Also sprich ein externer zeiger.

Geht das überhaupt?

MfG errox

Nemo.A
12.08.2007, 17:10
Wie was wo? Womit? Worüber handelt das hier?
Ich verstehe nur Bahnhof.

Du willst mit einem externen Programm eine Speicherstelle eines anderen Programmes auslesen und ausgeben? Dynamisch? Programmierst du einen Trainer? Wenn nur der INHALT von "x" anders ist, ist alles ok. Wenn aber "x" selbst eine Adresse ist, und diese sich ändert, wirds schwieriger.
Dann sprichst du von DMA.

errox
12.08.2007, 20:16
x ist die speicher adresse... sie lautet 0012FF60
der inhalt von 0012FF60 ist dynamisch... aber zu testzwecken ist er fest.
Ich will, ein programm programmieren, dass mir den inhalt der speicheradresse x ( 0012FF60 ) ausgibt / anzeigt.
Klar soweit? ^^
MfG

Nemo.A
13.08.2007, 10:38
Jep.
Ich verstehe noch nicht genau, wieso es dir wichtig ist, dass der _Inhalt_ anders ist. Wenn die Adresse gleich ist, gibt es keine Probleme mit dem Auslesen :)
Ich habe hier kein C/C++ Source parat, aber dass richtige für dich ist erstmal "ReadProcessMemory". Hier mal ein paar Hinweise die dir helfen sollten:


//c ist vom Type Cardinal.
c = FindWindow(nil,'Titel der Anwendung');
//c hat nun den Handle der Anwendung
GetWindowThreadProcessId(c, @c);
//Nun die ThreadProcessId welches für OpenProcess gebraucht wird
c = OpenProcess(PROCESS_ALL_ACCESS, False, c);
//ReadProcessMemory liest letzendlich den Inhalt der Adresse aus und speichert es in dpuffer
ReadProcessMemory(c,Pointer($0012FF60),@dpuffer,4, bytesread);

Ja ich weiß, ich habe es unschön programmiert mit "c". Aber ich habe null Bock, für alles eine neue Variable zu setzen :P
Für die genaue Erklärung dieser Funktionen, siehst du in der msdn nach :)
Ansonsten sieh dich auf www.gghz.de um. Die sollten diese Sources zum ansehen bereit haben :)

btw, es war mal Delphi Code, aber sollte ersichtlich sein, wie das in C/C++ aussehen sollte, da die WinAPI sich ja nicht ändert.

errox
13.08.2007, 20:51
Danke für den code aber, was für headerdaten muss ich includen? :S

-[RiDER]-
14.08.2007, 09:45
junge, goooooooooogle!!!

http://www.online-tutorials.net/security/speicherzugriff-tutorial-teil-1/tutorials-t-27-63.html
http://www.online-tutorials.net/security/speicherzugriff-tutorial-teil-2/tutorials-t-27-69.html

MfG RiDER

Nemo.A
14.08.2007, 15:30
Danke für den code aber, was für headerdaten muss ich includen? :S
windows.h sollte reichen.

errox
14.08.2007, 20:03
EDIT: Ich habs..
danke leute für eure hilfe!