Logo ICT-BZ

AC-Cheat.exe

Kurzinfo

Themenbereich

C++ GameHacking und Webapp Angular

Lernende/r

Cyrus Mauch

Lehrbetrieb

Komax AG

Betreuer

Manuel Gut

Projekt-Website

https://041er-blj.ch/2024/projekte/cyrus/home

Aufgabenstellung

Einen Game Cheat für das Spiel AssaultCube entwerfen und die Features Aimbot und ESP implementieren. Die Ausgangslage war das Spiel AssaultCube (Version 1.3.0.2), das als Open-Source-Spiel eine gute Basis für die Entwicklung eines Cheats bietet. Das Ziel war es, einen externen Cheat mit den Funktionen Aimbot (automatisches Zielen auf Gegner) und ESP (Extra-Sensory Perception, Anzeige von Gegnerpositionen) zu entwickeln.

Ergebnisse

Es wurde ein funktionsfähiger Cheat entwickelt, der sowohl Aimbot als auch ESP beinhaltet. Der Aimbot richtet das Fadenkreuz automatisch auf den Kopf des Gegners aus, während der ESP die Positionen der Gegner in Echtzeit auf dem Bildschirm anzeigt. Der Cheat wurde erfolgreich getestet und zeigt eine stabile Leistung. Zusätzlich habe ich noch eine Angular Webapp erstellt, die den Cheat erklärt und eine Benutzerintegration hat. Diese wollte ich noch in meinen Cheat einbinden, ich habe in der web app eine session managemnt entwickelt so das login sessions nur 24h gütlig sind habe dies in der Zeit leider nicht mehr realisieren können.

Cheat Menu

Abbildung 1: Das Cheat-Menü für die Einstellungen.

Lösungskonzept

Die Lösung wurde in C++ entwickelt, da diese Sprache direkten Zugriff auf Low-Level-Funktionen und Speicheroperationen ermöglicht. Der Cheat nutzt Windows Native Funktionen wie ReadProcessMemory (RPM) und WriteProcessMemory (WPM), um auf den Arbeitsspeicher des Spiels zuzugreifen. Für die Entwicklung wurden Tools wie Cheat Engine, ReClass und IDA Pro verwendet, um die Speicherstruktur des Spiels zu analysieren und relevante Spielvariablen zu identifizieren. Die mathematischen Berechnungen für den Aimbot und die World-to-Screen (W2S)-Transformation wurden in C++ implementiert, um die 3D-Koordinaten der Gegner in 2D-Koordinaten umzurechnen.

ESP in Action

Abbildung 2: Die ESP-Funktion zeigt Gegnerpositionen in Echtzeit an.

Aufgetretene Probleme

Während der Entwicklung traten einige Probleme auf, insbesondere bei der Analyse der Speicherstruktur des Spiels. Die Identifizierung der richtigen Speicheradressen für Spielerpositionen und Gegnerdaten war zeitaufwendig und erforderte viel Experimentieren mit Cheat Engine. Zusätzlich gab es Schwierigkeiten bei der Implementierung der W2S-Funktion, da die mathematischen Berechnungen für die 3D-zu-2D-Transformation komplex waren. Ein weiteres Problem war die Synchronisation des Overlays mit dem Spiel, um eine flüssige Darstellung der ESP-Funktion zu gewährleisten.

Ausblick

In Zukunft könnte der Cheat um weitere ebenfalls wünschenswert funktionen erweitert werden, um den Cheat für längere Spielsitzungen zuverlässig zu machen. Zudem wäre es vorteil haft die einbindung des User-Systems / datenbank abzuschuliesen so das user erst spielen können wenn sie einen Validen account erstellt haben.