Technik

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:

  1. Spiel starten und im Vor-Bewusst-Zustand Werte notieren
  2. Beispiel: 100 Health
  3. Im Scan-Tool: „Suche nach Wert 100, Typ Integer 4-Byte“
  4. Ergebnis: tausende Treffer im RAM
  5. Wert im Spiel ändern: jetzt 80 Health
  6. Im Scan-Tool: „Filter: jetzt 80“
  7. Nach 3-4 Iterationen: meist nur noch 1-3 Treffer
  8. 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:

  1. Statische Basis-Adresse (z.B. Game.exe + 0x12340)
  2. Plus Offset 1, führt zu Pointer 2
  3. Plus Offset 2, führt zu Pointer 3
  4. 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

  1. Cheat-Tool findet einen ungenutzten Speicherbereich (Cave)
  2. Schreibt eigenen Assembler-Code dorthin
  3. Modifiziert Spielcode: Sprung zu Cave, dann zurueck
  4. 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

Achtung: Bei Multiplayer-Spielen wird Memory-Editing von Anti-Cheat-Systemen erkannt - oft sofort. Selbst Werte-Veränderungen, die unauffaellig wirken (z.B. minimal mehr Schaden), werden statistisch identifiziert.

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