Werte im Speicher freezen
-
hallo
nachdem ich mit WPM bestimmte speicherstellen beschrieben habe möchte ich im memory diese werte "einfrieren" lassen. wisst ihr einen einfachen weg dafuer?
mfg roland
-
Was ist WPM?
Man kann nur ganze Speicherseiten auf Readonly setzen.
Was willst Du erreichen?
-
Er meint mit WPM bestimmt WriteProcessMemory()
freezen hört sich recht stark nach Game-Trainer an
Den Quellcode von einem den ich mal gesehen hab hat den Speicherinhalt einfach periodisch neu geschrieben.
-
Hardware BP on write; Break -> value neu schreiben.

-
jo mit WPM meinte ich writeprocessmemory. und ja es ist eine art "hack" für ein game was ich geschrieben habe. nur die werte die ich patched habe werden nach jedem rejoin zurueck auf den alten gesetzt ^^. das moechte ich verhindern.
also koennte ich das nur mit nem loop oder sowas machen? ich dachte da gibs irgendwie ne extra funktion fuer oder sowas -.-
-
sry fuer doublepost aber kann ja nich editen so.
@s91x: ka wie das funktioniert ^^ hab grad erst angefangen mit c++
-
ich glaube die Möglichkeit von Martin Richter ist die Beste, also den Speicher mit VirtualProtectEx auf Readonly setzten.
-
was? sein "hack" programm soll den speicher des programms verändern. wenn sein "hack" programm irgendeine daten seite des zielprogramms auf readonly setzt, ballert er damit höchstens das programm ab
-
Wenn Du den Speicher allerdings auf read onl setzt und das Programm versucht zu schreiben, dann wird es eine Exception geben.
-
... die das gepatchte Programm behandeln muß. Deshalb würde ich lieber die Loop mit einem Sleep(1) oder so nehmen.
-
versteh euch nicht. bitte erklärt mir das mal. ich habe ein prozess a und will dort eine variable immer auf einem bestimmten wert halten. prozess b setzt die variable auf den bestimmten wert und markiert dann die seite, in der sich die variable befindet, als read only...was soll das jetzt bringen? wenn prozess a die variable dann wieder schreiben will stürzt der prozess ab oder wie soll prozess b dann die exception abfangen? das check ich jetzt nid

-
aber wenn ich das mit einem loop mache dann bleibt das programm ja immer offen ^^. dann haette ich ja auch gleich nen billigen trainer nehmen können der mir die werte einfriert