mini|240px|Cheatmodul „Gameshark“ für Nintendos N64

Als Cheat (englisch für Betrug, Schwindel) wird die Möglichkeit bezeichnet, in einem Computerspiel selbst oder durch externe Programme das Spiel in einer nicht dem gewöhnlichen Spielverlauf entsprechenden Weise zu beeinflussen. Es handelt sich dabei beispielsweise um Tricks, mit denen schwere Abschnitte eines Spielabschnitts („Level“) übersprungen werden können oder der Spieler zusätzliche Lebensenergie, mehr Munition oder weitere Einheiten erhält. In der Regel sind diese Funktionen zu Testzwecken für die Entwicklungsphase des Spiels einprogrammiert.

Das Anwenden von Cheats hat einen großen Einfluss auf den Spielablauf, da grundlegende Regeln des Spiels durch Cheats außer Kraft gesetzt werden. Während dies in Einzelspieler-Spielen geduldet ist und die Möglichkeit zu cheaten heute meist bereits vom Spieleentwickler eingebaut (oft raffiniert versteckt) ist, ist es bei Mehrspieler-Spielen geächtet und kann zu einem Bann führen. In Einzelspieler-Spielen sind Cheats ebenfalls geächtet, wenn sich Spieler dadurch in einem Speedrun Vorteile verschaffen oder diese für eine hohe Platzierung auf der Highscore-Tabelle ausnutzen. Spieler, die sich durch Cheats einen Vorteil verschaffen, werden als Cheater bzw. Hacker in Online-Spielen durch externe Programme bezeichnet und meist, soweit möglich, vom Spiel ausgeschlossen. Trotz dieser Gefahr gibt es immer wieder einzelne Spieler, die sich Cheats zu Nutze machen. Eine Studie zum Spiel Anno 1800 zeigt nämlich, dass sich die Nutzung von Cheats positiv auf unsere Zufriedenheit auswirken kann.

Gerade bei reinen Mehrspieler- bzw. Onlinespielen und im E-Sport liegt es im Interesse des Spieleentwicklers, das Cheaten möglichst zu unterbinden, da sonst der Spielspaß bei den fair spielenden Teilnehmern leidet (kein Fair Play) und somit auch der kommerzielle Erfolg eines Spiels bedroht wird und zu Disqualifikation führt. Den Einsatz von ungewollten Cheats zu verhindern, ist für Spielehersteller ein hoher Aufwand und kann niemals völlig garantiert werden. Der Spieleentwickler Blizzard Entertainment hat auf seiner Online-Spieleplattform Battle.net manchmal schon zu drastischen Mitteln gegriffen, um das Cheaten zu unterbinden. So wurden bei potentiellen Cheatern Benutzerdaten gelöscht (in diesem Fall: Spielercharaktere) oder ganze Spielerkonten gesperrt. Diese Möglichkeit der Einflussnahme besteht allerdings nur, wenn das Onlinespiel auf den zentralen Servern des Spieleherstellers betrieben („gehostet“) wird, was bei den meisten Onlinespielen nicht der Fall ist – die meisten erfordern nur eine direkte Verbindung zwischen den Rechnern der Spieler mit einem Gameserver im Internet, die jedoch selten einer Überwachung durch die Spielehersteller unterliegt. Es gibt aber auch die Vernetzung von Computern auf sogenannten LAN-Partys.

Cheat-Techniken Es kann grundsätzlich zwischen mehreren Techniken des Cheats unterschieden werden.

Speichermanipulation Zu Zeiten der 8-Bit-Architektur konnten Programme während des Ladevorganges mit POKE-Befehlen überschrieben werden um das Spiel gezielt zu manipulieren. Anfangs wurden diese in Computerspielemagazinen abgedruckt, bis die Routinen bei neueren Spielen zu komplex wurden. Zudem wurden Module gekauft, die das Spiel pausierten und dann mit POKE und PEEK Bereich im Arbeitsspeicher ausgelesen, das Spiel fortgesetzt und wieder pausiert und analysiert sowie das Spiel dann gezielt manipuliert werden. Auch einige Programmfehler konnten so behoben werden.

Bei neueren Systemen werden mit einem speziellen Debugger, einem sogenannten Trainer der Arbeitsspeicherinhalt verändert. Einige Emulatoren, wie ZSNES, enthalten solche Trainer bereits. Gemeinsam ist diesen Debuggern, dass sie eine Suchfunktion für Variablen beinhalten, die aus dem Arbeitsspeicher jene Adressen heraussucht, welche zu bestimmten Zeiten bestimmte Werte enthalten, anhand denen sie sich Werten im Spiel wie den Lebenspunkten, Treibstoff oder Munition zuordnen lassen. Diese werden dann auf einen hohen Wert gesetzt, üblicherweise alle enthaltenen Bytes auf 0x7F, um auch bei vorzeichenbehaften Zahlen den größtmöglichen Nutzen zu erhalten. Bequemer als einen Wert händisch zu setzen ist das sogenannte Einfrieren, bei welchem der Trainer den Wert immer wieder von neuem setzt.

In der Regel läuft das Trainer-Programm im Hintergrund parallel zum Spiel und horcht auf einen bestimmten Tastendruck des Spielers. Wird dieser Tastendruck empfangen, wird der Trainer aktiv.

Anstatt in das laufende Programm einzugreifen, besteht auch die Möglichkeit, gespeicherte Spielstände zu manipulieren. Dies geschieht entweder per Hand mit einem Hex-Editor oder mit einem Programm, das diesen Vorgang automatisiert. Viele Entwickler sind jedoch inzwischen dazu übergegangen, die Manipulation an Spielständen mit Prüfsummen oder Verschlüsselung zu verhindern.

Es ist auch möglich, den Maschinencode des Spiels selber entweder durch Verändern der ausführbaren Dateien auf der Festplatte (verwenden eines Cracks) oder während der Laufzeit durch Patchen des Arbeitsspeichers zu ändern. Letzteres geschieht entweder durch ein neben dem Spiel laufendes Programm oder durch pro Spielsitzung einmalige DLL-Injection. Mit einer auf diese Weise zusätzlich geladenen DLL kann die Funktionalität eines Programms beliebig erweitert werden.

Ausnutzung von Programmfehlern Das Ausnutzen von Programmfehlern (Programmfehler bei Computerspielen werden in dem Zusammenhang auch Glitch genannt), auch Bugusing oder Bugabusing genannt, die vom Spielentwickler bisher nicht entdeckt oder korrigiert worden sind, erlaubt dem Spieler, Aktionen im Spiel auszuführen, die vom Entwickler nicht vorgesehen waren. Das Finden solcher Fehler erfolgt meist zufällig und erfordert bei gezielter Suche meist viel Zeit. Auch das Ausnutzen solcher Fehler erfordert teilweise einiges an Übung, bis der gewünschte Effekt erzielt wird. Bei Online-Spielen werden Spieler, die solche Fehler ausnutzen, häufig als Buguser (frei übersetzt Fehlernutzer) oder Exploiter, Bugabuser (beides Fehlerausnutzer, Fehlermissbrauchender) bezeichnet. Es wird zum Beispiel dazu verwendet, um an Orte zu gelangen, die eigentlich nicht für die Spieler bestimmt sind und dem Spieler Tarnung oder einen Vorteil bieten.

Bugusing kann auch bei PHP, JavaScript, Perl und anderen Programmiersprachen auftreten, es gibt allerdings dabei keine Beschränkung auf Skriptsprachen für dynamische Internetseiten. Letztere werden unter anderem für viele Browserspiele verwendet (Beispiel: OGame). Durch Sicherheitslücken in der Sprache können Programmabläufe geändert, Daten gelöscht oder ein uneingeschränkter Zugriff auf den Server geschaffen werden.

In Online-Spielen können ebenfalls Verzögerungen (sogenannte Lags) im Spiel ausgenutzt werden, um sich einen Spielvorteil zu verschaffen.

Script-Cheating Eine Cheatvariante, die dem Bugusing ähnelt, ist das Cheaten durch spielinterne Skripts. Viele Spiele, wie zum Beispiel Counter-Strike, bieten eine interne Skriptsprache an, die im Mehrspielermodus normalerweise nur für harmlose Befehle genutzt werden kann. Durch bestimmte Kombinationen dieser Befehle kann es jedoch zu Effekten kommen, die den Cheatprogrammen z. T. stark ähneln. Solche Effekte sind zum Beispiel:

NoRecoil/Anti-Recoil vermindert den typischen „Verzug“ (englisch recoil = Rückstoß) von Waffen und erlaubt so das dauerhafte Schießen, ohne dass die Zielgenauigkeit (erheblich) sinkt. Teleport erlaubt das Teleportieren – selbst wenn das Spiel selbst dies nicht anbietet. Die Funktionsweise ist oft ein mehrfacher Teamwechsel, so dass ein Fehler beim sogenannten Re-Spawnen entsteht und man sich auf der Startposition der Gegner befindet. 180°-Turn/Fast-Turn ermöglicht das blitzschnelle Drehen um 180°, um Gegner, welche von hinten attackieren, schneller bekämpfen zu können.

Das Scriptcheating ähnelt dem Bugusing sehr stark und überschneidet sich z. T. auch. Beim Bugusing wird jedoch sehr oft auf andere Art und Weise gehandelt als beim Scriptcheating. Dennoch werden auch Scriptcheater als Exploiter bezeichnet.

Oft ist der Übergang von Script-Cheating und Optimieren der Grafik-Einstellungen eines Spiels („game engine tuning“) fließend. Beispielsweise kann bereits ein Verändern der Gamma-Werte zur Aufhellung dunkler Bereiche als Cheaten gewertet werden.

Makros, Bots und Maschinenlernen Makros sind Programme oder Skripte, die dem Spiel Spielereingaben wie Tastendrücke und Mausbewegungen vorgaukeln. Der Spieler kann so einen Vorteil gegenüber anderen erlangen, weil Eingaben durch Makros schneller, präziser oder ausdauernder durchgeführt werden können, als es der Spieler selbst könnte.

Bots (vom englischen Robots = Roboter) sind im Grunde eine Erweiterung des Makro-Konzepts. Sie analysieren die Ausgaben des Spiels und reagieren auf erkannte Informationen oder Ereignisse mit simulierten Eingaben.

Da Makros und Bots Eingaben an das Spiel nicht anders als „reale“ Spieler senden, sind sie bedeutend schwerer zu entdecken als Cheats, die sich anderer Methoden bedienen.

Folgende Cheats können als Makros bzw. Bots eingestuft werden: Aimbotbezeichnet bei Ego-Shootern ein externes Programm, das dem Spieler hilft, auf seine Gegner zu zielen und zu schießen, indem zum Beispiel der Mauscursor automatisch auf das Ziel gesetzt und eventuell auch noch ein Schuss ausgelöst wird. Dadurch hat der Spieler einen enormen Vorteil gegenüber seinen Mitspielern, da der Aimbot wesentlich schneller und präziser reagieren kann als ein menschlicher Spieler. Es gibt verschiedene Arbeitsweisen von Aimbots. Einige Aimbots erkennen Spieler, auch wenn sie sich außerhalb des Sichtfelds befinden. Andere Aimbots hingegen suchen auf dem Bildschirm nach der Textur des Spielers, der Einsatz eines solchen Aimbots setzt mitunter eine Veränderung der Texturen für Spielfiguren voraus, damit das Programm die Figuren als solche erkennen kann. Spielfiguren bekommen deshalb zum Beispiel grelle Farben zugewiesen (cham-hack; Chamäleon), die sonst im Spiel eher nicht auftauchen. Da bei neueren Spielen ein Austauschen der Texturen nicht mehr so ohne weiteres möglich ist, funktionieren aktuelle Aimbots etwas anders. Sie unterstützen den Spieler beim Zielen, nehmen diesem die Aufgabe aber im Gegensatz zum TriggerBot nicht vollständig ab. Neuere Ansätze nutzen maschinelles Lernen. Dabei werden KI-Routinen trainiert, um automatisiert Feinde zu erkennen. Da die Datenquelle das abgegriffene Videosignal ist und die Zielbewegungen des Spielers ebenfalls über Hardware eingespeist wird, lässt es sich schwer aufspüren. Craftingbot bezeichnet bei Onlinerollenspielen ein externes Programm, das es dem Spieler ermöglicht, seine Spielfigur vollautomatisch Gegenstände im Spiel handwerklich herstellen zu lassen. Grindbot bezeichnet bei Onlinerollenspielen ein externes Programm, das es dem Spieler ermöglicht, seine Spielfigur vollautomatisch im Spiel zu steuern und der Bot dadurch meist den gesamten Kampf übernimmt. Miningbot bezeichnet bei Onlinerollenspielen ein externes Programm, das es dem Spieler ermöglicht, seine Spielfigur vollautomatisch Ressourcen im Spiel abbauen zu lassen. Petbot bezeichnet bei Onlinerollenspielen ein externes Programm, das es dem Spieler ermöglicht, seine Spielfigur und sein Pet (Tier, Vehikel) vollautomatisch im Spiel steuern zu lassen. Speedhack Ermöglicht dem Spieler, sich außergewöhnlich schnell fortzubewegen. Dies kann dem Benutzer des „Hacks“ unfaire Vorteile verschaffen, da er zum Beispiel schneller in die Reichweite zum Gegner oder aus ihr kommt oder dem Gegner ein schlechteres Ziel bieten kann. Der Spieler hat hierdurch auch die Möglichkeit, schneller an bestimmte Punkte im Spiel zum Aufsammeln von Gegenständen oder Rohstoffen zu gelangen.

Manipulation von Open-Source-Spielen Bei den weniger verbreiteten Open-Source-Spielen ist eine Manipulation auch durch die direkte Bearbeitung des Quellcodes möglich.

Save Scumming/Scum Saving