Entwickler-Ecke

Windows API - In eine Speicheradresse schreiben


Nemo90 - Di 17.06.08 19:17
Titel: In eine Speicheradresse schreiben
Hallo,

gibt es eine Möglichkeit in den Speicher eines gerade laufenden Prozesses zu schreiben bzw. aus diesem zu lesen?

mfg Nemo


Boldar - Mi 18.06.08 10:13

Normalerweise sollte das eine segmentation-Fault Exception geben, denn dass ist ja normal nicht erwünscht.
Ich bin allerdings auch neugierig, ob villeicht jemand weiss, wie dass trotzdem geht!


platzwart - Mi 18.06.08 12:04

hi,

ja das geht schon, aber was hast du genau vor? wo genau willst du reinschreiben? (ich nehm mal an, da soll ja nicht zufälig irgendwo da reingeschrieben werden...?)


Jakob_Ullmann - Mi 18.06.08 16:08

In eine Speicheradresse schreiben sollte doch mit Assembler gehen. MOV (??)


BenBE - Mi 18.06.08 16:18

Suche in: Delphi-Forum, Delphi-Library READPROCESSMEMORY \ Suche in: Delphi-Forum, Delphi-Library WRITEPROCESSMEMORY


Fighter#1 - Mi 18.06.08 18:07

MIch würds wundern wenn man in ne Speicheradresse schreiben kann, die NICHT dem Programm gehört!?! ...
Sollte eigentlich nicht möglich sein, sollte von Windows verboten werden... außer das andre Programm genehmigt es in irgend einer Form !?!


Nemo90 - Mi 18.06.08 20:36

Hmmm... wie das funktionieren soll weiss ich auch nicht so recht, weil ja der Speicher, den ein Programm benutzt, virtuell ist, d.h. nichts mit der wirklichen Hardware-Adresse zu tun hat. Mich würds halt mal interessieren ob man ein Programm schreiben kann, dass den Programmspeicher eines anderen Programms "überwacht". Aber der "Spieletrainer"-Thread klingt schon ganz brauchbar.


Delete - Mi 18.06.08 23:46

BenBE hat die Stichwörter schon geliefert.
Hier gibt's mehr Infos:

WriteProcessMemory Function
http://msdn.microsoft.com/en-us/library/ms681674(VS.85).aspx

ReadProcessMemory Function
http://msdn.microsoft.com/en-us/library/ms680553(VS.85).aspx

http://www.google.com/codesearch?hl=de&lr=&q=lang%3Apascal+WriteProcessMemory&sbtn=Suche