Speicherzugriff
-
Hallo
Wie kann man eine int Variable auf dem Speicher manipulieren, von der man nur die Adresse(0x11ff11ff) hat?
-
int *pInt = 0x11ff11ff; *pInt = 12;
-
Die Adresse muss allerdings innerhalb deines Programms liegen, im Zeitalter von Adressraumschutz und virtuellen Adressräumen wirst du nicht weit kommen im Speicher

MfG SideWinder
-
Wenn man es genau nimmt, muss die Adresse nicht innerhalb des Programms liegen...
sie muss nur in einem beschreibbaren Speicher liegen, wenn es keine Exception geben soll
-
Die Variable ist ja nicht von meiner Anwendung sondern einer anderen.
Ich möchte einen Trainer schreiben und genau das ist also irgendwie möglich.Es gibt sogar Trainer, die mit MFC geschrieben wurden, also will ich euf ASM verzichten.
-
Was soll denn ein "Trainer" sein? Und so wie beschrieben kannst Du natürlich nur auf Speicher deines eigenen Prozesses zugreifen... Für andere Prozesse musst Du WriteProcessMemory verwenden:
http://msdn.microsoft.com/library/en-us/debug/base/writeprocessmemory.asp
-
SideWinder schrieb:
Die Adresse muss allerdings innerhalb deines Programms liegen, im Zeitalter von Adressraumschutz und virtuellen Adressräumen wirst du nicht weit kommen im Speicher

MfG SideWinder
jede addresse auf die er zugreifen kann liegt im virtuellen addressraum seines programms.
-
Stromberg schrieb:
jede addresse auf die er zugreifen kann liegt im virtuellen addressraum seines programms.
Per API kann er auf mehr zugreifen

-
Tausend Dank auch

Es funktioniert.
Ein Trainer ändert Speicheradressen von einem Spiel(z.B. Geld,Energie...).