Ist eine Cheat Table sicher? So prüfst du eine .CT-Datei, bevor du sie benutzt
Eine .CT-Datei ist reines XML, kann aber Lua- und Auto-Assembler-Skripte sowie eingebettete Dateien enthalten. Erfahre, worauf du achten musst, welche Funktionen Vorsicht verdienen und wie du eine Table vorab überprüfst.
Eine Cheat Table ist eine kleine Textdatei, da liegt die Annahme nahe, dass sie keinen Schaden anrichten kann. Das stimmt größtenteils, solange sie auf deiner Festplatte liegt. Sobald du sie aber in Cheat Engine lädst, kann eine Table Code ausführen, und dieser Code läuft mit denselben Berechtigungen wie Cheat Engine. Die meisten geteilten Tables sind genau das, was sie vorgeben zu sein, aber niemand kann das über eine Datei versprechen, ohne sie gelesen zu haben. Dieser Guide zeigt dir, was eine Table enthalten kann, welche Teile einen genaueren Blick verdienen und wie du eine Table überprüfst, bevor du sie benutzt.
Was eine .CT-Datei ist
Eine .CT-Datei ist XML: strukturierter Klartext, den du in jedem Texteditor öffnen kannst. Eine minimale Table sieht ungefähr so aus:
<CheatTable CheatEngineTableVersion="45">
<CheatEntries>
<CheatEntry>
<ID>0</ID>
<Description>"Gold"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"game.exe"+01A2B3C0</Address>
<Offsets>
<Offset>18</Offset>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatTable>
Eine Table in einem Texteditor oder in unserem Online-CT-Viewer zu öffnen, der komplett in deinem Browser läuft, führt nichts aus. Eine Table auf diese Weise zu prüfen ist immer harmlos.
Was eine Table enthalten kann
- Wert- und Pointer-Einträge. Eine Adresse, ein Typ und eine Beschreibung. Sie lesen und schreiben nur den Speicher des Spiels. Das Hauptrisiko betrifft das Spiel: Ein falscher Wert kann es abstürzen lassen oder in deinem Spielstand landen.
- Auto-Assembler-Skripte. Skript-Einträge, die den Code des Spiels patchen, wenn sie aktiviert werden. Normalerweise betreffen sie nur den Spielprozess, aber der Auto Assembler kann auch DLLs in das Spiel laden und eingebettete Lua-Blöcke enthalten, geschrieben als
{$lua}...{$asm}, die als Lua laufen, wenn das Skript aktiviert wird. - Ein Table-Lua-Skript. Ein Lua-Skript, das an die gesamte Table angehängt ist und in einem
LuaScript-Abschnitt der Datei gespeichert wird. Es kann beim Laden der Table laufen, bevor du irgendetwas anhakst. Lua in Cheat Engine ist eine vollwertige Skriptsprache mit Zugriff auf Dateien, andere Programme und das Netzwerk. - Eingebettete Dateien. Eine Table kann Dateien in codierter Form in sich tragen. Autoren nutzen das für Bilder, Sounds oder Hilfsdaten, aber ein Skript kann eine eingebettete Datei auch auf die Festplatte schreiben und ausführen.
- Formulare und Strukturen. Eigene Fenster (für Oberflächen im Trainer-Stil) und Definitionen von Datenstrukturen. Formulare werden meist per Lua gesteuert, also kommt Lua-Code zum Prüfen mit.
Wie Cheat Engine nachfragt, bevor das Lua-Skript einer Table läuft
Wenn du eine Table lädst, die ein Table-Lua-Skript enthält, zeigt Cheat Engine eine Abfrage, ob du es ausführen möchtest. Diese Abfrage gibt es genau dafür, dass du erst nach dem Lesen des Skripts entscheidest, nicht davor. Gute Gewohnheiten:
- Beim ersten Laden einer Table lehnst du ab. Die Einträge werden trotzdem geladen, nur das Table-Skript wird übersprungen.
- Lies das Skript. Du kannst es in Cheat Engine über das Table-Menü ansehen oder bequemer im CT-Viewer oder in einem Texteditor.
- Wenn das Skript harmlos aussieht, lade die Table neu und bestätige.
- Lass die Einstellung in Cheat Engine, die vor dem Ausführen von Table-Skripten nachfragt, eingeschaltet. Wenn du sie auf „immer ausführen" stellst, verlierst du die Chance zur Prüfung.
Beachte, dass diese Abfrage nur das Table-Skript betrifft. Lua-Blöcke in Auto-Assembler-Skripten laufen, wenn du den jeweiligen Eintrag aktivierst, ein weiterer Grund, Skripte zu prüfen, bevor du sie anhakst.
Was Vorsicht verdient
Nichts von Folgendem ist automatisch bösartig. Einiges hat legitime Verwendungen. Aber jedes davon gibt einer Table Fähigkeiten jenseits des Änderns von Spielwerten. Wenn du eines siehst, stelle also sicher, dass du verstehst, warum es dort ist.
| Funktion oder Feature | Wo | Was es kann |
|---|---|---|
shellExecute | Lua | Eine Datei öffnen oder ein Programm auf deinem PC starten |
os.execute, io.popen | Lua | Systembefehle ausführen |
io.open mit einem Schreibmodus wie "w" oder "wb" | Lua | Dateien erstellen oder überschreiben |
getInternet und die zugehörigen Download-Funktionen | Lua | Daten oder Dateien aus dem Internet abrufen |
loadstring, load | Lua | Code ausführen, der aus einem String gebaut wird und versteckt oder heruntergeladen sein kann |
package.loadlib | Lua | Eine native DLL in Cheat Engine laden |
injectDLL, loadlibrary | Lua / Auto Assembler | Eine DLL in den Spielprozess laden |
decodeFunction, lange codierte Blobs | Lua | Kompilierten oder verschleierten Code ausführen, den du nicht lesen kannst |
| Eingebettete Dateien plus Code, der sie speichert | Table-Dateien / Lua | Eine Datei auf der Festplatte ablegen, möglicherweise um sie auszuführen |
{$lua}-Blöcke | Auto Assembler | Lua ausführen, wenn ein Skript-Eintrag aktiviert wird |
Verschleierung ist das deutlichste Warnsignal
Von allem oben Genannten verdient Code, den du nicht lesen kannst, die meiste Vorsicht. Eine lange Kette zufällig aussehender Buchstaben, die an load, loadstring oder decodeFunction übergeben wird, oder ein Skript, das Text dekodiert und dann ausführt, verbirgt, was die Table tut. Manche Autoren verschleiern, um ihre Arbeit zu schützen, aber von außen erkennst du den Unterschied nicht. Wenn du es nicht prüfen kannst, führe es nicht aus.
Der Kontext zählt
Eine Table, die getInternet aufruft, um nach einer neueren Version von sich selbst zu suchen und eine Nachricht anzuzeigen, ist nicht dasselbe wie eine, die eine ausführbare Datei herunterlädt und mit shellExecute startet. Lies, was der umgebende Code mit dem Ergebnis macht. In das Spiel geschriebene Werte, dir angezeigte Nachrichten und kleine Einstellungsdateien sind normal. Gestartete Programme, Dateien von unbekannten Adressen und DLLs von unerwarteten Orten braucht eine Cheat Table für ein Singleplayer-Spiel normalerweise nicht.
Eine Prüfroutine, bevor du etwas aktivierst
- Öffne die Table im CT-Viewer oder in einem Texteditor. Vergleiche die Liste der Einträge mit dem, was die Table-Seite verspricht.
- Lies das Table-Lua-Skript, falls es eines gibt. Achte auf die Funktionen aus der Tabelle oben.
- Durchsuche alle Auto-Assembler-Skripte nach
{$lua},injectDLLundloadlibrary. - Prüfe auf eingebettete Dateien und finde heraus, was sie verwendet.
- Lade die Table in Cheat Engine und lehne die Lua-Abfrage ab, wenn du Zweifel hast. Einfache Wert-Einträge funktionieren auch ohne.
- Sichere deine Spielstände und aktiviere dann Einträge einzeln, damit du bei Problemen weißt, welcher Eintrag sie verursacht hat.
Der Guide So benutzt du eine Cheat Table behandelt Laden, Aktivieren und Fehlerbehebung im Detail.
Was eine Prüfung dir nicht verrät
Eine Table auf riskante Funktionen zu prüfen dient dem Schutz deines PCs. Es garantiert nicht, dass die Table funktioniert, und schließt weder Spielabstürze noch einen beschädigten Spielstand aus, weshalb Backups wichtig sind. Es ändert auch nichts daran, wofür Tables gedacht sind: nur Singleplayer- und Offline-Spiele. Speichermanipulation in Online- oder Multiplayer-Spielen betrifft andere Spieler und kann zu Account-Sperren führen, und keine Prüfung macht das akzeptabel.
Hol dir Cheat Engine selbst von der offiziellen Seite
All das setzt voraus, dass Cheat Engine selbst echt ist. Lade es nur von der offiziellen Seite cheatengine.org herunter, lies jeden Installer-Bildschirm und lehne optionale Zusatzangebote ab. Cheat-Engine.net ist eine unabhängige Community-Seite für Cheat Tables und nicht mit Dark Byte, dem Entwickler von Cheat Engine, verbunden. Sei vorsichtig bei „Cheat Engine"-Downloads anderswo und bei allem, was als Cheat Table ausgegeben wird, aber in Wirklichkeit eine .exe-Datei ist. Cheat Engine kann auch eigenständige Trainer und geschützte Trainer-Dateien erzeugen; diese sind viel schwerer zu untersuchen als eine einfache .CT-Datei, also geh damit besonders vorsichtig um.
Zusammenfassung
- Eine .CT-Datei ist lesbares XML; sie zu lesen ist harmlos, sie in Cheat Engine auszuführen ist nicht automatisch harmlos.
- Wert-Einträge sind für deinen PC risikoarm; Skripte, Lua und eingebettete Dateien verdienen eine Prüfung.
- Lehne die Lua-Abfrage ab, bis du das Skript gelesen hast.
- Sei am vorsichtigsten bei Code, der Programme ausführt, Dateien schreibt, etwas herunterlädt, DLLs lädt oder verschleiert ist.
- Sichere deine Spielstände und bleib bei Singleplayer- und Offline-Spielen.
Kommentare
Noch keine Kommentare
Sei der Erste, der seine Meinung teilt.