Cheat-Engine-Funktionen
Überblick über die Möglichkeiten von Cheat Engine – vom einfachen Speicher-Scan bis zu Kernel- und Skript-Funktionen.
Speicher-Scanner
Das Herzstück von Cheat Engine ist der Speicher-Scanner. Er durchsucht den Speicher eines Prozesses nach Werten, die zu Ihrer Eingabe passen. Sie können nach exakten Werten, unbekanntem Ausgangswert, verringertem/erhöhtem Wert und weiteren Scan-Typen suchen. Nach dem ersten Scan ändern Sie den Wert im Spiel (z. B. Schaden nehmen, Gold ausgeben) und starten einen „Nächster Scan“, um die Liste einzugrenzen. Wiederholung führt meist zu einer oder wenigen Adressen mit dem gesuchten Wert.
Scannen Sie nach verschiedenen Werttypen: 1–8-Byte-Ganzzahlen, Float, Double, Strings usw. Der Scanner unterstützt gruppierte Scans und benutzerdefinierte Lua-Skripte für ungewöhnliche Typen. Ergebnisse können zur Adressliste hinzugefügt werden; dort können Sie einen Wert einfrieren, manuell ändern oder einer Tastenkombination zuweisen.
Erweiterte Optionen: nur bestimmte Speicherbereiche scannen, Debugger-Breakpoint bei Zugriff/Schreibzugriff, Pointer-Scan, damit die Adresse nach Neustart noch funktioniert.
Debugger
Cheat Engine enthält einen vollständigen Debugger. Sie können Breakpoints auf Befehle oder Speicherzugriff (Lesen/Schreiben) setzen. Beim Treffer hält die Ausführung an; Sie können Register, Stack und Speicher prüfen. 32- und 64-Bit-Prozesse werden unterstützt; mit geladenem DBVM auch Kernel-Debugging.
Einzelschritt (Step Into, Step Over), bis Return ausführen, Trace und „Herausfinden, was diese Adresse schreibt/liest“ zeigen, welcher Code einen Wert verändert. Wichtig, um die genaue Anweisung für Leben, Munition oder Geld zu finden und sie zu ersetzen oder eigenen Code einzufügen.
Das Debugger-Fenster zeigt Disassemblierung; Sie können Befehle bearbeiten (Assembler), neuen Code hinzufügen (Auto-Assembler-Skripte) oder das Trace-Protokoll nutzen.
Disassembler und Assembler
Der Disassembler zeigt den Maschinencode des Prozesses als lesbares Assembler (x86/x64). Sie navigieren per Adresse, folgen Sprüngen und Aufrufen und sehen, welche Befehle eine Adresse referenzieren. Wenn Sie den Code gefunden haben, der Ihren Wert schreibt, können Sie ihn mit dem Assembler durch eigene Befehle ersetzen.
Der Auto-Assembler ist eine Skript-Schicht: Sie schreiben Assembler (mit Labels und Direktiven wie alloc, Code-Injection, AOB-Suche); CE reserviert Speicher, findet die Bytes und patcht das Spiel. Vorlagen für typische Aufgaben (unendlich Leben, kein Rückstoß usw.) sind vorhanden und anpassbar. So entstehen die meisten fortgeschrittenen Cheats und Trainer.
Speedhack
Speedhack ändert die Laufgeschwindigkeit des Zielfprozesses. Sie können die Zeit verlangsamen (für schwere Stellen oder Analyse) oder beschleunigen (zum schnelleren Grinden im Einzelspieler). Die Geschwindigkeit wird per Schieberegler oder Faktor eingestellt. CE hakt zeitbezogene APIs (z. B. GetTickCount, QueryPerformanceCounter) ein, sodass das Spiel weniger oder mehr vergangene Zeit „sieht“.
Speedhack betrifft nur den angehängten Prozess und ist für Einzelspieler gedacht. In Online-Spielen kann es zu Desync oder Erkennung führen und wird nicht unterstützt.
Trainer-Erstellung
Wenn Sie Adressen und optional Auto-Assembler-Skripte haben, können Sie sie in einer Cheat-Tabelle (.CT) speichern. Der Trainer-Maker wandelt eine Cheat-Tabelle in eine eigenständige Trainer-EXE um. Der Trainer kann ein einfaches Fenster mit Kontrollkästchen und Tastenkürzeln haben, sodass Nutzer CE nicht öffnen oder die Tabelle manuell laden müssen.
Trainer werden oft im Forum geteilt. Laden Sie nur aus vertrauenswürdigen Quellen und prüfen Sie .CT-Dateien (XML) vor der Nutzung auf schädliches Lua oder Assembler.
Lua-Skripting
Cheat Engine hat eingebautes Lua. Sie können Skripte zum Automatisieren von Scans schreiben, die Oberfläche anpassen, eigene Formulare und Dialoge erstellen sowie mit Adressliste und Speicher arbeiten. Viele Erweiterungen im Forum sind in Lua. Die Lua-API bietet Prozess- und Speicherfunktionen (Speicher lesen/schreiben, reservieren, Module auflisten, Debugger aus Skript aufrufen).
Lua wird für Auto-Attach-Skripte, benutzerdefinierte Scan-Typen und komplexe Trainer genutzt. Lua-Grundlagen und die CE-Lua-Dokumentation im Wiki ermöglichen leistungsstarke Tools auf Basis von CE.
DBVM (Debugger Virtual Machine)
DBVM ist ein Hypervisor unter dem Betriebssystem. Er erweitert den CPU-Befehlssatz, damit Benutzerprogramme (wie CE) Aktionen ausführen können, die normalerweise Kernel-Zugriff erfordern. So sind leistungsfähigeres Debugging und Speicherzugriff möglich, besonders unter 64-Bit-Windows.
Mit geladenem DBVM kann CE z. B. Ultimap (Ausführungs-Trace), bessere Breakpoints und Kernel-Speicherzugriff nutzen. DBVM benötigt eine kompatible CPU und Start mit dem DBVM-Loader (z. B. UEFI). Rechtsklick auf das CE-Logo → „Über“, um zu prüfen, ob Ihr System DBVM unterstützt und ob es geladen ist.
DBVM verwendet einen 160-Bit-Schlüssel; es ist optional – die meisten Nutzer verwenden CE ohne DBVM.
Mono- und .NET-Unterstützung
Viele Spiele und Anwendungen nutzen Unity (Mono) oder .NET. Cheat Engine kann Mono/.NET-Typen, Klassen und Felder auflisten. Mono-Dissector und .NET-Data-Collector ermöglichen das Durchsuchen des Objektmodells im Speicher und das Finden von Feldern (z. B. Player.health, GameManager.gold) nach Namen statt roher Adressen. Diese Felder können Sie zur Adressliste hinzufügen oder in Skripten nutzen.
Lua und die Mono-API können zusammen genutzt werden, um das Finden und Überwachen von Klassen und Instanzen zu automatisieren.
Pointer-Scan
Spieladressen ändern sich oft beim Neustart wegen ASLR und dynamischer Allokation. Ein Pointer ist eine Adresse, die auf eine andere Adresse zeigt, die letztlich zu Ihrem Wert führt. Pointer-Scan findet Pointer-Ketten (z. B. Basis-Modul + Offset → Pointer → Offset → Ihr Wert), die nach Neustarts gültig bleiben. Sie können den Pointer in Ihrer Tabelle speichern, damit der Cheat bei jedem Start funktioniert.
Pointer-Scans können groß sein und dauern. Filter wie „muss lesbar sein“ und Begrenzung von Tiefe/Level reduzieren Fehltreffer.
Weitere Werkzeuge
- Speicheransicht: Prozessspeicher hex durchsuchen und bearbeiten. Nach Bytes, Strings oder AOB-Mustern suchen.
- Daten/Strukturen zerlegen: Strukturen definieren und über Speicher legen, um Bytes als Felder zu interpretieren.
- Direkte 3D-Manipulation: DirectX-Zustand (z. B. View-Matrix) in einigen Spielen prüfen und ändern.
- Symbol-Handler: PDB o. Ä. laden für bessere Disassembler-Labels.
- Prozessliste: An beliebige laufende Prozesse anbinden (mit passenden Rechten). Nach Name oder PID filtern.
Scan-Optionen und Performance
Der Speicher-Scanner bietet viele Optionen für Geschwindigkeit und Genauigkeit. Sie können den Scan auf bestimmte Bereiche beschränken, „Schneller Scan“ nutzen und die Thread-Anzahl setzen. Bei „Unbekannter Ausgangswert“ und großen Prozessen reduziert eine eingeschränkte Scan-Range die Dauer. Die Adressliste unterstützt sehr viele Einträge; bei Pointer-Scan-Ergebnissen Filter (z. B. „Muss gültig sein“) nutzen. Siehe Tutorials.
Plugins und Erweiterungen
Cheat Engine unterstützt Plugins (DLLs). Im Forum gibt es einen Plugins-Bereich. Lua-Skripte können ebenfalls als Erweiterungen dienen. Nutzen Sie nur Quellen, denen Sie vertrauen; sie laufen mit den gleichen Rechten wie CE. Das offizielle Wiki dokumentiert die Plugin- und Lua-API.
Zum schrittweisen Lernen: Tutorials und das eingebaute CE-Tutorial (nach der Installation im Startmenü). Das Cheat-Engine-Wiki hat detaillierte Seiten zu jeder Funktion.