Memory-Editing erklärt
Werte direkt im Arbeitsspeicher ändern - die häufigste Cheat-Technik.
Was Memory-Editing ist
Beim Memory-Editing werden Werte direkt im Arbeitsspeicher (RAM) eines laufenden Programms geändert. Das ist die am häufigsten verwendete Cheat-Methode, vor allem für Singleplayer-Spiele und Trainer.
Warum es funktioniert
Spiele speichern ihre Variablen im RAM. Wenn dein Charakter 100 Health hat, gibt es irgendwo im RAM die Zahl 100. Wenn du sie auf 999 aenderst, denkt das Spiel, du hast 999 Health.
Das Spiel pruet normalerweise nicht, ob diese Werte plötzlich groß geworden sind - es nimmt sie einfach hin.
Speicher-Architektur kurz
Prozess-Speicher
Jedes laufende Programm (Prozess) hat seinen eigenen Speicherbereich. Windows teilt RAM in Adressräume auf - jeder Prozess sieht seinen eigenen.
Wichtige Bereiche
- Code-Segment: ausführbarer Code
- Daten-Segment: statische Variablen (kennen ihren festen Platz)
- Heap: dynamisch allokierter Speicher (oft Spieler-Daten)
- Stack: Funktions-Aufrufe, lokale Variablen
Wie Adressen gefunden werden
Method 1: Wert-Scanning
Klassische Methode mit Tools wie Cheat Engine:
- Spiel starten und im Vor-Bewusst-Zustand Werte notieren
- Beispiel: 100 Health
- Im Scan-Tool: „Suche nach Wert 100, Typ Integer 4-Byte“
- Ergebnis: tausende Treffer im RAM
- Wert im Spiel ändern: jetzt 80 Health
- Im Scan-Tool: „Filter: jetzt 80“
- Nach 3-4 Iterationen: meist nur noch 1-3 Treffer
- Diese Adresse ist die Health-Variable
Method 2: Pointer-Chains
Das Problem mit Method 1: Adressen sind dynamisch. Bei jedem Spielstart kann die Health an einer anderen Adresse sein.
Lösung: Pointer-Scanning. Finde die Kette von Pointern, die zur Health-Adresse führt:
- Statische Basis-Adresse (z.B.
Game.exe + 0x12340) - Plus Offset 1, führt zu Pointer 2
- Plus Offset 2, führt zu Pointer 3
- Plus Offset 3, ist die Health-Adresse
Vorteil: Pointer-Chain ist stabil über Spielstarts hinweg.
Method 3: Reverse Engineering
Tiefste Methode (mehr in Reverse Engineering Basics):
- Spielcode mit Disassembler analysieren (IDA Pro, Ghidra)
- Funktion finden, die Health verändert
- Direkt im Code die Variablen-Referenz finden
Sehr aufwendig, aber gibt vollständiges Verständnis der Datenstrukturen.
Wert-Typen
Beim Scannen ist der Wert-Typ entscheidend:
- Integer (4 Byte): häufigster Typ für Health, Money, etc.
- Integer (2 Byte): kleinere Werte
- Float: Position, Zeit, Geschwindigkeit (oft 3.0 statt 3)
- Double: hochgenaue Floats
- String: Texte, Namen
- Array of Bytes: komplexe Datenstrukturen
Spezielle Werte
Manche Werte sind versteckt:
- Verschlüsselte Werte: XOR-verschlüsselt
- Werte mit Inverse: Health = -Health, dann negieren
- Werte mit Pruefsumme: Spiel pruet Kohaerenz
- Floating-Point statt Integer: 100.0 statt 100
Anti-Cheat-Spiele verwenden oft solche Tricks, um Memory-Editing zu erschweren.
Wert einfrieren vs. einmal setzen
Einmal setzen
- Wert wird einmal geändert
- Spiel verbraucht ihn (z.B. Health sinkt bei Schaden)
- Geht in normale Spielmechanik ein
Einfrieren (Freeze)
- Cheat-Tool schreibt immer wieder den Wert zurueck
- Bei Schaden wird sofort wieder auf Max gesetzt
- Effektiv God-Mode-aequivalent
- Mehrfach pro Sekunde geschrieben
Code Caves
Fortgeschrittene Technik: eigenen Code in den Speicher schreiben.
Wie es funktioniert
- Cheat-Tool findet einen ungenutzten Speicherbereich (Cave)
- Schreibt eigenen Assembler-Code dorthin
- Modifiziert Spielcode: Sprung zu Cave, dann zurueck
- Spielcode führt jetzt zusaetzliche Logik aus
Beispiel: Unendliche Munition
Spielcode: ammo = ammo - 1 (jede Salve eine Patrone weniger).
Code Cave: überspringt die Subtraktion oder setzt ammo direkt zurueck.
Speicher-Protektion umgehen
Windows schuetzt Prozess-Speicher. Memory-Editing-Tools nutzen:
- OpenProcess mit PROCESS_VM_READ/WRITE-Rechten
- ReadProcessMemory / WriteProcessMemory APIs
- VirtualProtect um Schreibschutz-Seiten zu ändern
Dafür braucht das Tool Admin-Rechte. Anti-Cheat kann zusaetzliche Hooks setzen, um diese APIs zu überwachen.
Tools für Memory-Editing
Cheat Engine (Open Source)
Standard-Tool. Mehr in Cheat Engine erklärt.
ArtMoney
Klassisches russisches Tool, einfacher als Cheat Engine.
HxD (Hex-Editor)
Direkter Hex-Zugriff auf Speicher und Dateien.
ReClass.NET
Tool zur Strukturanalyse von Speicherbereichen.
Memory-Editing in Singleplayer
Bei Singleplayer-Spielen sehr einfach, da Anti-Cheat selten aktiv ist:
- Trainer wie WeMod basieren darauf
- Cheat Engine direkt nutzbar
- Keine Online-Validierung
- Risiken nur für den eigenen Save
Memory-Editing in Multiplayer
Server-Side vs. Client-Side
Multiplayer-Spiele speichern autoritative Daten auf dem Server:
- Client-Side: Anzeige-Werte, Render-Daten
- Server-Side: tatsächliche Spielwerte (Health, Position, Damage)
Memory-Editing nur am Client verändert nicht den tatsächlichen Spielzustand. Beispiel: Du siehst 999 Health auf deinem Bildschirm, der Server kennt aber 100 - und bei Schaden bist du tot.
Folge: Memory-Editing für Multiplayer ist weitgehend wirkungslos (Aimbots und Wallhacks sind anderer Natur).
Lernen und Experimentieren
Memory-Editing ist eine wertvolle Lernerfahrung für Programmierer:
- Verständnis von Computer-Architektur
- Speicher-Layouts und Pointer-Mechanik
- Reverse Engineering Skills
- Debugging-Fähigkeiten
Viele IT-Sicherheits-Profis haben mit Cheat Engine angefangen.
IT-Praxis und Web-Entwicklung
Wer sich für die Technik hinter Cheats interessiert, ist oft auch an IT-Sicherheit und Web-Entwicklung interessiert. SEO NW hilft seit 2012.
SEO NW Agentur