
Edição de Pesquisa Acadêmica - T1: Evasão em modo de usuário (ofuscação + gateway de syscall), T2: Ponte de kernel BYOVD, T3: Hardware DMA (trabalho futuro).
Edição de Pesquisa Acadêmica — Cheat Engine modificado com evasão anti-cheat em múltiplas camadas para educação em cibersegurança e pesquisa de engenharia reversa em nível universitário.
Aviso: Este projeto é exclusivamente para pesquisa acadêmica, trabalhos universitários e educação em cibersegurança. Deve ser destruído ao final do período acadêmico.
┌─────────────────────────────────────────────────────────┐
│ Cheat Engine 7.5 │
│ (Lazarus / FreePascal) │
├─────────────────────────────────────────────────────────┤
│ T1: Evasão em Modo de Usuário │
│ ├─ Randomização de nomes de janela/processo/registro (-daltname)│
│ ├─ Remoção de metadados PE e renomeação de seções │
│ ├─ Remoção do Rich Header e randomização de timestamp │
│ ├─ Stubs de syscall diretos (bypass de hooks ntdll.dll) │
│ └─ Extração dinâmica de números de syscall do disco │
├─────────────────────────────────────────────────────────┤
│ T2: Ponte de Kernel (BYOVD — WinNotify.sys) │
│ ├─ Detecção de anti-cheat (10 engines) │
│ ├─ Driver assinado pela Microsoft (WinNotify.sys / signeddrv.sys)│
│ ├─ Leitura/escrita de memória virtual do kernel via IOCTL (sem mapeamento físico)│
│ ├─ Caminhada de tabela de páginas baseada em CR3 para qualquer processo│
│ ├─ Derrota de KASLR via IOCTL de divulgação de base do kernel│
│ ├─ Bypass de ObCallback (manipulação de estruturas do kernel)│
│ └─ Ocultação de processos (desvinculação de PsActiveProcessLinks)│
├─────────────────────────────────────────────────────────┤
│ T3: Hardware DMA [NÃO IMPLEMENTADO] │
│ └─ Dispositivo PCIe FPGA para bypass de AC em nível de hipervisor│
└─────────────────────────────────────────────────────────┘
| Anti-Cheat | Tipo | Estratégia | Status |
|---|---|---|---|
| Warden (Blizzard) | Modo de usuário | T1 | Funcional |
| VAC (Valve) | Modo de usuário | T1 | Funcional |
| XIGNCODE3 | Driver de modo de usuário | T1 | Funcional |
| EasyAntiCheat | Driver de kernel | T2 | Requer WinNotify.sys |
| BattlEye | Driver de kernel | T2 | Requer WinNotify.sys |
| nProtect GameGuard | Driver de kernel | T2 | Requer WinNotify.sys |
| Ricochet (CoD) | Driver de kernel | T2 | Parcial |
| Vanguard (Riot) | Hipervisor | T3 (DMA) | NÃO IMPLEMENTADO |
| Faceit / ESEA | Kernel + Hipervisor | T3 (DMA) | NÃO IMPLEMENTADO |
.
├── README.md
├── Build.ps1 # Pipeline de build automatizado (clona CE, aplica patches, compila)
├── .gitignore
├── src/
│ ├── cheatengine.lpi # Projeto: metadados renomeados, define -daltname, saída renomeada
│ ├── cheatengine.lpr # Principal: Application.Title dinâmico
│ ├── NewKernelHandler.pas # Núcleo: integração T1+T2, troca de ponteiro de função
│ ├── SyscallGateway.pas # T1: Stubs de syscall diretos (Read/Write/Open/VQE)
│ ├── AntiCheatDetector.pas # T2: Detecção de AC — processos, drivers, serviços
│ ├── PhysicalMemory.pas # T2: Carregador de driver + leitura/escrita de memória física via IOCTL
│ ├── KernelBridge.pas # T2: Orquestrador de bypass de kernel + desativação de ObCallback
│ ├── StealthHiding.pas # T2: Ocultação de processos via desvinculação de PsActiveProcessLinks
│ ├── PEPatcher.ps1 # Mutação de PE pós-build
│ └── Build-Stealth.ps1 # Script de build autônomo legado
└── cheat-engine/ # Código-fonte CE upstream (clonado por Build.ps1)
Ofuscação de Superfície — Usa a compilação condicional {$ifdef altname} integrada do CE:
"Runtime Modifier" em vez de "Cheat Engine 7.5"\Software\Runtime Modifier\ em vez de \Software\Cheat Engine\sysdiag64.exe em vez de cheatengine-x86_64.exeGateway de Syscall — O driver de kernel DBK do CE é desativado (seu hash de certificado está na lista negra de EAC/BE). Em vez disso, todas as funções de acesso à memória (ReadProcessMemory, WriteProcessMemory, VirtualQueryEx, OpenProcess) são redirecionadas através de stubs de instrução syscall diretos:
ntdll.dll do disco antes que qualquer hook de anti-cheat esteja ativomov r10, rcx; mov eax, [syscall_num]; syscall; retntdll.dll instalados por EAC/BEPara anti-cheats em nível de kernel que bloqueiam a criação de handles via ObRegisterCallbacks:
EasyAntiCheat.sys, BEDaisy.sys) e serviçosWinNotify.sys / signeddrv.sys (assinado com Authenticode da Microsoft, 2026, 0 detecções VT) via Gerenciador de Controle de Serviços do Windows0x22200C): Lê o endereço base de ntoskrnl.exe diretamente da lista de módulos carregados do kernel0x222040/0x222044): Lê/escreve qualquer endereço virtual do kernel — sem necessidade de tradução de endereço físicoActiveProcessLinks para localizar o processo do jogo alvo0x222050/0x222054): Usa o DirectoryTableBase do jogo para ler/escrever sua memória virtual através de suas próprias tabelas de páginasOpenProcess, sem NtReadVirtualMemory — completamente invisível para ObCallbacksPsActiveProcessLinksPara anti-cheats em nível de hipervisor (Vanguard, Faceit), seria necessário um dispositivo DMA PCIe para ler a RAM física do barramento, bypassando tanto as proteções de kernel quanto de hipervisor. Documentado como extensão de pesquisa futura.
0x222040)0x222044)0x222050/0x222054)C:\Windows\System32\drivers\ ou junto ao executável compiladogit clone https://github.com/NulledNah/cheat-engine-undetectable.git
cd cheat-engine-undetectable
.\Build.ps1 -Clean
# Se o Lazarus não estiver em C:\lazarus:
.\Build.ps1 -Clean -LazarusPath "D:\lazarus"
O script:
lazbuild no modo Release 64-Bitbin\sysdiag64.exeExecutar sysdiag64.exe
│
├─ DetectAntiCheat() → verifica engines de AC em execução
│
├─ [Nenhum AC de kernel detectado]
│ └─ T1 ativo: bypass de syscall para todas as operações
│
├─ [EAC/BE detectado + WinNotify.sys disponível]
│ ├─ Carregar driver via SCM
│ ├─ IOCTL 0x22200C → vazar base do kernel (KASLR derrotado)
│ ├─ IOCTL 0x222040 → ler PsInitialSystemProcess → percorrer ActiveProcessLinks
│ ├─ Encontrar EPROCESS do jogo → extrair DirectoryTableBase (CR3)
│ ├─ Ocultar próprio processo da enumeração
│ └─ Todas as operações de memória via caminhada de tabela de páginas CR3 (zero handles, zero OpenProcess)
│
└─ [Vanguard/Faceit detectado]
└─ Aviso: AC de hipervisor — requer T3 (hardware DMA, não implementado)
Este projeto demonstra os seguintes conceitos de cibersegurança:
EPROCESS, ObCallbacks e estruturas de tabela de páginasUso Exclusivamente Acadêmico — Este projeto faz parte de uma tese/currículo de pesquisa universitária. Será destruído ao final do período acadêmico conforme a política da universidade.