
Academic Research Edition - T1: Evasione in modalità utente (offuscamento + gateway syscall), T2: Ponte kernel BYOVD, T3: Hardware DMA (lavoro futuro).
Edizione per Ricerca Accademica — Cheat Engine modificato con evasione anti-cheat a più livelli per educazione alla cybersecurity e ricerca universitaria di reverse engineering.
Disclaimer: Questo progetto è esclusivamente per ricerca accademica, corsi universitari ed educazione alla cybersecurity. Deve essere distrutto al completamento del termine accademico.
┌─────────────────────────────────────────────────────────┐
│ Cheat Engine 7.5 │
│ (Lazarus / FreePascal) │
├─────────────────────────────────────────────────────────┤
│ T1: Evasione in User-Mode │
│ ├─ Randomizzazione nomi finestra/processo/registro (-daltname)│
│ ├─ Rimozione metadati PE e rinomina sezioni │
│ ├─ Rimozione Rich Header e randomizzazione timestamp │
│ ├─ Stub syscall diretti (bypass hook ntdll.dll) │
│ └─ Estrazione dinamica numeri syscall dal disco │
├─────────────────────────────────────────────────────────┤
│ T2: Ponte Kernel (BYOVD — WinNotify.sys) │
│ ├─ Rilevamento anti-cheat (10 motori) │
│ ├─ Driver firmato Microsoft (WinNotify.sys / signeddrv.sys)│
│ ├─ Lettura/scrittura memoria virtuale kernel via IOCTL (nessun mapping fisico)│
│ ├─ Walk tabella pagine basato su CR3 per qualsiasi processo│
│ ├─ Sconfitta KASLR tramite IOCTL di divulgazione base kernel│
│ ├─ Bypass ObCallback (manipolazione strutture kernel) │
│ └─ Occultamento processo (unlinking PsActiveProcessLinks) │
├─────────────────────────────────────────────────────────┤
│ T3: Hardware DMA [NON IMPLEMENTATO] │
│ └─ Dispositivo PCIe FPGA per bypass AC a livello hypervisor│
└─────────────────────────────────────────────────────────┘
| Anti-Cheat | Tipo | Strategia | Stato |
|---|---|---|---|
| Warden (Blizzard) | User-mode | T1 | Funzionante |
| VAC (Valve) | User-mode | T1 | Funzionante |
| XIGNCODE3 | Driver user-mode | T1 | Funzionante |
| EasyAntiCheat | Driver kernel | T2 | Richiede WinNotify.sys |
| BattlEye | Driver kernel | T2 | Richiede WinNotify.sys |
| nProtect GameGuard | Driver kernel | T2 | Richiede WinNotify.sys |
| Ricochet (CoD) | Driver kernel | T2 | Parziale |
| Vanguard (Riot) | Hypervisor | T3 (DMA) | NON IMPLEMENTATO |
| Faceit / ESEA | Kernel + Hypervisor | T3 (DMA) | NON IMPLEMENTATO |
.
├── README.md
├── Build.ps1 # Pipeline di build automatizzata (clona CE, applica patch, compila)
├── .gitignore
├── src/
│ ├── cheatengine.lpi # Progetto: metadati rinomati, define -daltname, output rinominato
│ ├── cheatengine.lpr # Principale: Application.Title dinamico
│ ├── NewKernelHandler.pas # Core: integrazione T1+T2, scambio puntatori funzione
│ ├── SyscallGateway.pas # T1: Stub syscall diretti (Read/Write/Open/VQE)
│ ├── AntiCheatDetector.pas # T2: Rilevamento AC — processi, driver, servizi
│ ├── PhysicalMemory.pas # T2: Caricatore driver + lettura/scrittura memoria fisica via IOCTL
│ ├── KernelBridge.pas # T2: Orchestratore bypass kernel + disabilitazione ObCallback
│ ├── StealthHiding.pas # T2: Occultamento processo tramite unlinking PsActiveProcessLinks
│ ├── PEPatcher.ps1 # Mutazione PE post-build
│ └── Build-Stealth.ps1 # Script di build standalone legacy
└── cheat-engine/ # Sorgente CE upstream (clonato da Build.ps1)
Offuscamento di Superficie — Utilizza la compilazione condizionale integrata di CE {$ifdef altname}:
"Runtime Modifier" invece di "Cheat Engine 7.5"\Software\Runtime Modifier\ invece di \Software\Cheat Engine\sysdiag64.exe invece di cheatengine-x86_64.exeGateway Syscall — Il driver kernel DBK di CE è disabilitato (il suo hash del certificato è nella blacklist di EAC/BE). Invece, tutte le funzioni di accesso alla memoria (ReadProcessMemory, WriteProcessMemory, VirtualQueryEx, OpenProcess) vengono reindirizzate tramite stub di istruzioni syscall dirette:
ntdll.dll dal disco prima che qualsiasi hook anti-cheat sia attivomov r10, rcx; mov eax, [syscall_num]; syscall; retntdll.dll installati da EAC/BEPer gli anti-cheat a livello kernel che bloccano la creazione di handle tramite ObRegisterCallbacks:
EasyAntiCheat.sys, BEDaisy.sys) e i serviziWinNotify.sys / signeddrv.sys (firmato Microsoft Authenticode, 2026, 0 rilevamenti VT) tramite il Service Control Manager di Windows0x22200C): Legge l'indirizzo base di ntoskrnl.exe direttamente dall'elenco dei moduli caricati del kernel0x222040/0x222044): Legge/scrive qualsiasi indirizzo virtuale kernel — nessuna traduzione di indirizzo fisico necessariaActiveProcessLinks per individuare il processo di gioco target0x222050/0x222054): Usa DirectoryTableBase del gioco per leggere/scrivere la sua memoria virtuale tramite le sue stesse tabelle pagineOpenProcess, nessun NtReadVirtualMemory — completamente invisibile agli ObCallbacksPsActiveProcessLinksPer gli anti-cheat a livello hypervisor (Vanguard, Faceit), sarebbe necessario un dispositivo DMA PCIe per leggere la RAM fisica dal bus, bypassando sia le protezioni del kernel che quelle dell'hypervisor. Documentato come estensione di ricerca futura.
0x222040)0x222044)0x222050/0x222054)C:\Windows\System32\drivers\ o accanto all'eseguibile compilatogit clone https://github.com/NulledNah/cheat-engine-undetectable.git
cd cheat-engine-undetectable
.\Build.ps1 -Clean
# Se Lazarus non è in C:\lazarus:
.\Build.ps1 -Clean -LazarusPath "D:\lazarus"
Lo script:
lazbuild in modalità Release 64-Bitbin\sysdiag64.exeAvvia sysdiag64.exe
│
├─ DetectAntiCheat() → scansiona i motori AC in esecuzione
│
├─ [Nessun AC kernel rilevato]
│ └─ T1 attivo: bypass syscall per tutte le operazioni
│
├─ [EAC/BE rilevato + WinNotify.sys disponibile]
│ ├─ Carica driver tramite SCM
│ ├─ IOCTL 0x22200C → divulgazione base kernel (KASLR sconfitto)
│ ├─ IOCTL 0x222040 → legge PsInitialSystemProcess → percorre ActiveProcessLinks
│ ├─ Trova EPROCESS del gioco → estrae DirectoryTableBase (CR3)
│ ├─ Nasconde il proprio processo dall'enumerazione
│ └─ Tutte le operazioni di memoria tramite walk tabella pagine CR3 (zero handle, zero OpenProcess)
│
└─ [Vanguard/Faceit rilevato]
└─ Avviso: AC hypervisor — richiede T3 (hardware DMA, non implementato)
Questo progetto dimostra i seguenti concetti di cybersecurity:
EPROCESS, ObCallbacks e strutture delle tabelle pagineSolo per Uso Accademico — Questo progetto fa parte di una tesi universitaria/curriculum di ricerca. Sarà distrutto al completamento del termine accademico secondo la politica universitaria.