2010-06-04 5 views

Antwort

2

Es ist möglich, Leseprozessspeicher unter Windows. Es gibt eine Funktion ReadProcessMemory in kernel32.dll: http://msdn.microsoft.com/en-us/library/ms680553(v=VS.85).aspx

Dies wird von den meisten Anwendungen verwendet, die den Speicher anderer Anwendungen ändern. Es kann auch verwendet werden, um zwischen zwei Prozessen zu kommunizieren (obwohl meistens nicht empfohlen).

CheatEngine ist ein Debugger mit einer nicht-traditionellen Schnittstelle.

0

Nur um eine einfache Erklärung zu geben - dump/hot Suche den Prozessspeicher für den angegebenen Wert und ändern Sie es. Sie können es mit einigen einfachen WinAPI Funktionen oder mit einigen nativen API Routinen (ich nehme an).

Das ist offensichtlich der Grund, warum sie zum Beispiel fehlschlagen, wenn der Spielstatus mit einer Verschlüsselung gespeichert wird. Das ist auch der Grund, warum Sie Ihren Wert mehrmals ändern und dann Ihre Suche erneut durchführen müssen (um Suchkollisionen zu vermeiden, da definitiv andere Speicherblöcke den gleichen Wert haben könnten).

+1

Offensichtlich funktionieren sie auch nicht in Situationen, in denen der angezeigte Wert nicht gleich dem gespeicherten Wert im Speicher ist, d. H. "X + 1" wird angezeigt, wobei "x" im Speicher gespeichert ist. Eine Suche nach 'x + 1' ergibt nicht die Position von' x'. Andere Verschlüsselungsmethoden verwenden benutzerdefinierte Datentypen, wie Ganzzahlen variabler Länge, unterschiedliche Byte-Reihenfolge, XOR-invertierter Speicher (XOR mit "0xFFFF") usw. – Pindatjuh