
Академическое исследовательское издание — T1: обход в пользовательском режиме (обфускация + шлюз системных вызовов), T2: мост ядра BYOVD, T3: аппаратное обеспечение DMA (будущая работа).
Академическая исследовательская редакция — модифицированный Cheat Engine с многоуровневым обходом анти-читов для образовательных целей в области кибербезопасности и университетских исследований в области реверс-инжиниринга.
Дисклеймер: Этот проект предназначен исключительно для академических исследований, университетских курсов и образовательных целей в области кибербезопасности. Он должен быть уничтожен по завершении академического семестра.
┌─────────────────────────────────────────────────────────┐
│ Cheat Engine 7.5 │
│ (Lazarus / FreePascal) │
├─────────────────────────────────────────────────────────┤
│ T1: Обход на уровне пользователя │
│ ├─ Рандомизация имён окон/процессов/реестра (-daltname) │
│ ├─ Удаление метаданных PE и переименование секций │
│ ├─ Удаление Rich Header и рандомизация временных меток │
│ ├─ Прямые заглушки syscall (обход хуков ntdll.dll) │
│ └─ Динамическое извлечение номеров syscall с диска │
├─────────────────────────────────────────────────────────┤
│ T2: Мост в ядро (BYOVD — WinNotify.sys) │
│ ├─ Обнаружение анти-читов (10 движков) │
│ ├─ Драйвер с подписью Microsoft (WinNotify.sys / signeddrv.sys)│
│ ├─ Чтение/запись виртуальной памяти ядра через IOCTL (без физ. отображения)│
│ ├─ Обход таблиц страниц на основе CR3 для любого процесса│
│ ├─ Обход KASLR через IOCTL раскрытия базы ядра │
│ ├─ Обход ObCallback (манипуляция структурами ядра) │
│ └─ Скрытие процессов (отвязка PsActiveProcessLinks) │
├─────────────────────────────────────────────────────────┤
│ T3: Аппаратное обеспечение DMA [НЕ РЕАЛИЗОВАНО] │
│ └─ Устройство PCIe FPGA для обхода AC на уровне гипервизора│
└─────────────────────────────────────────────────────────┘
| Анти-чит | Тип | Стратегия | Статус |
|---|---|---|---|
| Warden (Blizzard) | Пользовательский режим | T1 | Работает |
| VAC (Valve) | Пользовательский режим | T1 | Работает |
| XIGNCODE3 | Драйвер пользовательского режима | T1 | Работает |
| EasyAntiCheat | Драйвер ядра | T2 | Требуется WinNotify.sys |
| BattlEye | Драйвер ядра | T2 | Требуется WinNotify.sys |
| nProtect GameGuard | Драйвер ядра | T2 | Требуется WinNotify.sys |
| Ricochet (CoD) | Драйвер ядра | T2 | Частично |
| Vanguard (Riot) | Гипервизор | T3 (DMA) | НЕ РЕАЛИЗОВАНО |
| Faceit / ESEA | Ядро + гипервизор | T3 (DMA) | НЕ РЕАЛИЗОВАНО |
.
├── README.md
├── Build.ps1 # Автоматизированный конвейер сборки (клонирует CE, применяет патчи, собирает)
├── .gitignore
├── src/
│ ├── cheatengine.lpi # Проект: переименованные метаданные, define -daltname, переименованный вывод
│ ├── cheatengine.lpr # Основной: динамический Application.Title
│ ├── NewKernelHandler.pas # Ядро: интеграция T1+T2, подмена указателей функций
│ ├── SyscallGateway.pas # T1: Прямые заглушки syscall (Read/Write/Open/VQE)
│ ├── AntiCheatDetector.pas # T2: Обнаружение AC — процессы, драйверы, службы
│ ├── PhysicalMemory.pas # T2: Загрузчик драйвера + чтение/запись физической памяти через IOCTL
│ ├── KernelBridge.pas # T2: Оркестратор обхода ядра + отключение ObCallback
│ ├── StealthHiding.pas # T2: Скрытие процессов через отвязку PsActiveProcessLinks
│ ├── PEPatcher.ps1 # Мутация PE после сборки
│ └── Build-Stealth.ps1 # Устаревший автономный скрипт сборки
└── cheat-engine/ # Исходный код CE (клонируется Build.ps1)
Обфускация поверхности — использует встроенную условную компиляцию CE {$ifdef altname}:
"Runtime Modifier" вместо "Cheat Engine 7.5"\Software\Runtime Modifier\ вместо \Software\Cheat Engine\sysdiag64.exe вместо cheatengine-x86_64.exeШлюз syscall — драйвер ядра CE DBK отключён (его хэш сертификата внесён в чёрный список EAC/BE). Вместо этого все функции доступа к памяти (ReadProcessMemory, WriteProcessMemory, VirtualQueryEx, OpenProcess) перенаправляются через прямые заглушки инструкции syscall:
ntdll.dll с диска до активации хуков анти-читаmov r10, rcx; mov eax, [syscall_num]; syscall; retntdll.dll, установленные EAC/BEДля анти-читов уровня ядра, которые блокируют создание дескрипторов через ObRegisterCallbacks:
EasyAntiCheat.sys, BEDaisy.sys) и службыWinNotify.sys / signeddrv.sys (подписан Microsoft Authenticode, 2026, 0 обнаружений VT) через диспетчер служб Windows0x22200C): Читает базовый адрес ntoskrnl.exe напрямую из списка загруженных модулей ядра0x222040/0x222044): Читает/записывает любой виртуальный адрес ядра — не требуется трансляция физических адресовActiveProcessLinks для поиска целевого игрового процесса0x222050/0x222054): Использует DirectoryTableBase игры для чтения/записи её виртуальной памяти через её собственные таблицы страницOpenProcess, нет NtReadVirtualMemory — полностью невидим для ObCallbacksPsActiveProcessLinksДля анти-читов уровня гипервизора (Vanguard, Faceit) потребовалось бы устройство PCIe DMA для чтения физической ОЗУ с шины, обходя как защиту ядра, так и гипервизора. Задокументировано как будущее расширение исследований.
0x222040)0x222044)0x222050/0x222054)C:\Windows\System32\drivers\ или рядом со скомпилированным исполняемым файломgit clone https://github.com/NulledNah/cheat-engine-undetectable.git
cd cheat-engine-undetectable
.\Build.ps1 -Clean
# Если Lazarus не в C:\lazarus:
.\Build.ps1 -Clean -LazarusPath "D:\lazarus"
Скрипт:
lazbuild в режиме Release 64-Bitbin\sysdiag64.exeЗапуск sysdiag64.exe
│
├─ DetectAntiCheat() → сканирует запущенные движки AC
│
├─ [Драйвер ядра AC не обнаружен]
│ └─ T1 активен: обход syscall для всех операций
│
├─ [EAC/BE обнаружен + WinNotify.sys доступен]
│ ├─ Загрузка драйвера через SCM
│ ├─ IOCTL 0x22200C → утечка базы ядра (KASLR обойдён)
│ ├─ IOCTL 0x222040 → чтение PsInitialSystemProcess → обход ActiveProcessLinks
│ ├─ Поиск EPROCESS игры → извлечение DirectoryTableBase (CR3)
│ ├─ Скрытие собственного процесса от перечисления
│ └─ Все операции с памятью через обход таблиц страниц CR3 (ноль дескрипторов, ноль OpenProcess)
│
└─ [Vanguard/Faceit обнаружен]
└─ Предупреждение: AC на гипервизоре — требуется T3 (аппаратное обеспечение DMA, не реализовано)
Этот проект демонстрирует следующие концепции кибербезопасности:
EPROCESS, ObCallbacks и структур таблиц страницТолько для академического использования — Этот проект является частью университетской диссертации/исследовательской программы. Он будет уничтожен по завершении академического семестра в соответствии с политикой университета.