
Akademische Forschung Edition – T1: User-Mode-Umgehung (Verschleierung + Syscall-Gateway), T2: BYOVD-Kernel-Brücke, T3: DMA-Hardware (zukünftige Arbeit).
Academic-Research-Edition — Modifizierter Cheat Engine mit mehrstufiger Anti-Cheat-Umgehung für Cybersicherheitsbildung und Reverse-Engineering-Forschung auf Universitätsniveau.
Haftungsausschluss: Dieses Projekt dient ausschließlich akademischer Forschung, Universitätskursen und Cybersicherheitsbildung. Es muss nach Abschluss des akademischen Semesters zerstört werden.
┌─────────────────────────────────────────────────────────┐
│ Cheat Engine 7.5 │
│ (Lazarus / FreePascal) │
├─────────────────────────────────────────────────────────┤
│ T1: User-Mode-Umgehung │
│ ├─ Fenster-/Prozess-/Registrierungsschlüssel-Randomisierung (-daltname)│
│ ├─ PE-Metadaten-Entfernung & Abschnittsumbenennung │
│ ├─ Rich-Header-Entfernung & Zeitstempel-Randomisierung │
│ ├─ Direkte Syscall-Stubs (umgeht ntdll.dll-Hooks) │
│ └─ Dynamische Syscall-Nummernextraktion von der Festplatte│
├─────────────────────────────────────────────────────────┤
│ T2: Kernel-Brücke (BYOVD — WinNotify.sys) │
│ ├─ Anti-Cheat-Erkennung (10 Engines) │
│ ├─ Microsoft-signierter Treiber (WinNotify.sys / signeddrv.sys)│
│ ├─ Kernel-Virtual-Memory-Lesen/Schreiben über IOCTL (kein phys. Mapping)│
│ ├─ CR3-basiertes Page-Table-Walking für jeden Prozess │
│ ├─ KASLR-Umgehung über Kernel-Basis-Offenlegungs-IOCTL │
│ ├─ ObCallback-Umgehung (Kernel-Struktur-Manipulation) │
│ └─ Prozessverstecken (PsActiveProcessLinks-Entkopplung) │
├─────────────────────────────────────────────────────────┤
│ T3: DMA-Hardware [NICHT IMPLEMENTIERT] │
│ └─ PCIe-FPGA/Gerät für Hypervisor-Ebene-AC-Umgehung │
└─────────────────────────────────────────────────────────┘
| Anti-Cheat | Typ | Strategie | Status |
|---|---|---|---|
| Warden (Blizzard) | User-Mode | T1 | Funktional |
| VAC (Valve) | User-Mode | T1 | Funktional |
| XIGNCODE3 | User-Mode-Treiber | T1 | Funktional |
| EasyAntiCheat | Kernel-Treiber | T2 | Erfordert WinNotify.sys |
| BattlEye | Kernel-Treiber | T2 | Erfordert WinNotify.sys |
| nProtect GameGuard | Kernel-Treiber | T2 | Erfordert WinNotify.sys |
| Ricochet (CoD) | Kernel-Treiber | T2 | Teilweise |
| Vanguard (Riot) | Hypervisor | T3 (DMA) | NICHT IMPLEMENTIERT |
| Faceit / ESEA | Kernel + Hypervisor | T3 (DMA) | NICHT IMPLEMENTIERT |
.
├── README.md
├── Build.ps1 # Automatisierte Build-Pipeline (klont CE, wendet Patches an, baut)
├── .gitignore
├── src/
│ ├── cheatengine.lpi # Projekt: umbenannte Metadaten, -daltname-Define, umbenannte Ausgabe
│ ├── cheatengine.lpr # Hauptprogramm: dynamischer Application.Title
│ ├── NewKernelHandler.pas # Kern: T1+T2-Integration, Funktionszeiger-Austausch
│ ├── SyscallGateway.pas # T1: Direkte Syscall-Stubs (Read/Write/Open/VQE)
│ ├── AntiCheatDetector.pas # T2: AC-Erkennung — Prozesse, Treiber, Dienste
│ ├── PhysicalMemory.pas # T2: Treiber-Loader + physischer Speicher L/S über IOCTL
│ ├── KernelBridge.pas # T2: Kernel-Bypass-Orchestrator + ObCallback-Deaktivierung
│ ├── StealthHiding.pas # T2: Prozessverstecken über PsActiveProcessLinks-Entkopplung
│ ├── PEPatcher.ps1 # PE-Mutation nach dem Build
│ └── Build-Stealth.ps1 # Legacy-Standalone-Build-Skript
└── cheat-engine/ # Upstream-CE-Quellcode (von Build.ps1 geklont)
Oberflächen-Verschleierung — Nutzt die eingebaute {$ifdef altname}-Bedingungskompilierung von CE:
"Runtime Modifier" statt "Cheat Engine 7.5"\Software\Runtime Modifier\ statt \Software\Cheat Engine\sysdiag64.exe statt cheatengine-x86_64.exeSyscall-Gateway — Der DBK-Kernel-Treiber von CE ist deaktiviert (sein Zertifikats-Hash ist von EAC/BE auf die Blacklist gesetzt). Stattdessen werden alle Speicherzugriffsfunktionen (ReadProcessMemory, WriteProcessMemory, VirtualQueryEx, OpenProcess) über direkte syscall-Instruktions-Stubs umgeleitet:
ntdll.dll von der Festplatte, bevor Anti-Cheat-Hooks aktiv sindmov r10, rcx; mov eax, [syscall_num]; syscall; retntdll.dll, die von EAC/BE installiert wurdenFür Kernel-Ebene-Anti-Cheats, die die Handle-Erstellung über ObRegisterCallbacks blockieren:
EasyAntiCheat.sys, BEDaisy.sys) und DienstenWinNotify.sys / signeddrv.sys (Microsoft Authenticode-signiert, 2026, 0 VT-Erkennungen) über den Windows-Dienststeuerungsmanager0x22200C): Liest die Basisadresse von ntoskrnl.exe direkt aus der geladenen Modulliste des Kernels0x222040/0x222044): Liest/schreibt jede Kernel-Virtualadresse — keine physische Adressübersetzung erforderlichActiveProcessLinks, um den Ziel-Spielprozess zu lokalisieren0x222050/0x222054): Verwendet die DirectoryTableBase des Spiels, um dessen virtuellen Speicher über seine eigenen Page Tables zu lesen/schreibenOpenProcess, kein NtReadVirtualMemory — vollständig unsichtbar für ObCallbacksPsActiveProcessLinksFür Hypervisor-Ebene-Anti-Cheats (Vanguard, Faceit) wäre ein PCIe-DMA-Gerät erforderlich, um physischen RAM vom Bus zu lesen und dabei sowohl Kernel- als auch Hypervisor-Schutz zu umgehen. Als zukünftige Forschungserweiterung dokumentiert.
0x222040)0x222044)0x222050/0x222054)C:\Windows\System32\drivers\ oder neben der kompilierten ausführbaren Dateigit clone https://github.com/NulledNah/cheat-engine-undetectable.git
cd cheat-engine-undetectable
.\Build.ps1 -Clean
# Wenn Lazarus nicht in C:\lazarus ist:
.\Build.ps1 -Clean -LazarusPath "D:\lazarus"
Das Skript:
lazbuild im Release-64-Bit-Modusbin\sysdiag64.exe aussysdiag64.exe starten
│
├─ DetectAntiCheat() → scannt nach laufenden AC-Engines
│
├─ [Kein Kernel-AC erkannt]
│ └─ T1 aktiv: Syscall-Bypass für alle Operationen
│
├─ [EAC/BE erkannt + WinNotify.sys verfügbar]
│ ├─ Treiber über SCM laden
│ ├─ IOCTL 0x22200C → Kernel-Basis leaken (KASLR umgangen)
│ ├─ IOCTL 0x222040 → PsInitialSystemProcess lesen → ActiveProcessLinks durchlaufen
│ ├─ Spiel-EPROCESS finden → DirectoryTableBase (CR3) extrahieren
│ ├─ Eigenen Prozess vor der Aufzählung verstecken
│ └─ Alle Speicheroperationen über CR3-Page-Table-Walk (null Handles, null OpenProcess)
│
└─ [Vanguard/Faceit erkannt]
└─ Warnung: Hypervisor-AC — erfordert T3 (DMA-Hardware, nicht implementiert)
Dieses Projekt demonstriert die folgenden Cybersicherheitskonzepte:
EPROCESS, ObCallbacks und Page-Table-StrukturenNur für akademische Zwecke — Dieses Projekt ist Teil eines Universitäts-Abschluss-/Forschungscurriculums. Es wird nach Abschluss des akademischen Semesters gemäß der Universitätsrichtlinie zerstört.