Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cheat-engine-undetectable — Академическое исследовательское издание — T1: обход в пользовательском режиме (обфускация + шлюз системных вызовов), T2: мост ядра BYOVD, T3: аппаратное обеспечение DMA (будущая работа). | Kitploit
Инструменты/GitHubGitHub/gmh5225/cheat-engine-undetectable
ЭксплуатацияОбратная инженерияАнализ вредоносных программОбучение и ОбразованиеRed TeamingЭксплуатация Бинарных Файлов
GitHubgmh5225/cheat-engine-undetectable

cheat-engine-undetectable

Академическое исследовательское издание — T1: обход в пользовательском режиме (обфускация + шлюз системных вызовов), T2: мост ядра BYOVD, T3: аппаратное обеспечение DMA (будущая работа).

Репозиторий
26 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Cheat Engine Undetectable

Академическая исследовательская редакция — модифицированный Cheat Engine с многоуровневым обходом анти-читов для образовательных целей в области кибербезопасности и университетских исследований в области реверс-инжиниринга.

Дисклеймер: Этот проект предназначен исключительно для академических исследований, университетских курсов и образовательных целей в области кибербезопасности. Он должен быть уничтожен по завершении академического семестра.


Архитектура

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                    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)НЕ РЕАЛИЗОВАНО

Структура файлов

root@kitploit:~
.
├── 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)

Как это работает

Уровень 1: Обход на уровне пользователя

Обфускация поверхности — использует встроенную условную компиляцию CE {$ifdef altname}:

  • Заголовок окна: "Runtime Modifier" вместо "Cheat Engine 7.5"
  • Ключи реестра: \Software\Runtime Modifier\ вместо \Software\Cheat Engine\
  • Все видимые пользователю строки: "Modification", "Code Table" и т.д.
  • Метаданные PE: общие описания компании/файла, урезанная информация о версии
  • Имя выходного файла: sysdiag64.exe вместо cheatengine-x86_64.exe

Шлюз syscall — драйвер ядра CE DBK отключён (его хэш сертификата внесён в чёрный список EAC/BE). Вместо этого все функции доступа к памяти (ReadProcessMemory, WriteProcessMemory, VirtualQueryEx, OpenProcess) перенаправляются через прямые заглушки инструкции syscall:

  • Читает ntdll.dll с диска до активации хуков анти-чита
  • Разбирает таблицу экспорта PE для извлечения сырых номеров syscall
  • Генерирует ассемблерные заглушки: mov r10, rcx; mov eax, [syscall_num]; syscall; ret
  • Обходит хуки пользовательского режима в ntdll.dll, установленные EAC/BE

Уровень 2: Мост в ядро (BYOVD — WinNotify.sys)

Для анти-читов уровня ядра, которые блокируют создание дескрипторов через ObRegisterCallbacks:

  1. Обнаружение: Сканирует драйверы EAC/BE (EasyAntiCheat.sys, BEDaisy.sys) и службы
  2. Загрузка драйвера: Загружает WinNotify.sys / signeddrv.sys (подписан Microsoft Authenticode, 2026, 0 обнаружений VT) через диспетчер служб Windows
  3. Обход KASLR (IOCTL 0x22200C): Читает базовый адрес ntoskrnl.exe напрямую из списка загруженных модулей ядра
  4. Чтение/запись виртуальной памяти ядра (IOCTL 0x222040/0x222044): Читает/записывает любой виртуальный адрес ядра — не требуется трансляция физических адресов
  5. Обход EPROCESS: Находит процесс System (PID=4), проходит по ActiveProcessLinks для поиска целевого игрового процесса
  6. Обход таблиц страниц CR3 (IOCTL 0x222050/0x222054): Использует DirectoryTableBase игры для чтения/записи её виртуальной памяти через её собственные таблицы страниц
  7. Ноль дескрипторов: Нет OpenProcess, нет NtReadVirtualMemory — полностью невидим для ObCallbacks
  8. Скрытие процесса: Отвязывает EPROCESS CE от PsActiveProcessLinks

Уровень 3: Аппаратное обеспечение DMA (НЕ РЕАЛИЗОВАНО)

Для анти-читов уровня гипервизора (Vanguard, Faceit) потребовалось бы устройство PCIe DMA для чтения физической ОЗУ с шины, обходя как защиту ядра, так и гипервизора. Задокументировано как будущее расширение исследований.

Предварительные требования

  1. Lazarus IDE 3.x с FreePascal 3.2.2: https://www.lazarus-ide.org/
  2. Git для клонирования вышестоящего репозитория CE
  3. Права администратора (требуются для загрузки драйверов и доступа к процессам)
  4. WinNotify.sys / signeddrv.sys — драйвер ядра с подписью Microsoft, предоставляющий:
    • Произвольное чтение виртуальной памяти ядра (IOCTL 0x222040)
    • Произвольную запись виртуальной памяти ядра (IOCTL 0x222044)
    • Постраничный обход таблиц страниц CR3 для каждого процесса (IOCTL 0x222050/0x222054)
    • Разместите в C:\Windows\System32\drivers\ или рядом со скомпилированным исполняемым файлом

Инструкции по сборке

root@kitploit:~
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"

Скрипт:

  1. Клонирует вышестоящий Cheat Engine (если отсутствует)
  2. Копирует пропатченные файлы в исходный код вышестоящего проекта
  3. Рандомизирует идентификаторы сборки (версия, номер сборки)
  4. Компилирует с помощью lazbuild в режиме Release 64-Bit
  5. Запускает PEPatcher для удаления Rich Header, переименования секций, рандомизации временной метки
  6. Выводит bin\sysdiag64.exe

Поведение во время выполнения

root@kitploit:~
Запуск 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, не реализовано)

Академический контекст

Этот проект демонстрирует следующие концепции кибербезопасности:

  • Эксплуатация CVE: CVE-2019-16098 — уязвимость подписанного драйвера, позволяющая произвольное отображение физической памяти из непривилегированного пользовательского режима
  • Манипуляция объектами ядра: Прямое изменение EPROCESS, ObCallbacks и структур таблиц страниц
  • Формат файлов PE: Программная манипуляция Rich Header, заголовками секций, каталогами отладки
  • Архитектура анти-читов: Понимание стека обнаружения: хуки пользовательского режима → колбэки ядра → защита гипервизора
  • Внутренности Windows: Страничная организация x64 (PML4→PDP→PD→PT), механизм syscall, диспетчер объектов, диспетчер служб
  • Техники обхода: Обфускация поверхности, шлюз syscall, скрытие дескрипторов, скрытие процессов, BYOVD

Ограничения

  • Vanguard работает на уровне гипервизора (драйвер, загружаемый при загрузке системы) и не может быть обойдён без T3 (аппаратное обеспечение DMA)
  • Faceit/ESEA используют многоуровневую защиту ядра + гипервизора — требуется T3
  • WinNotify.sys может быть добавлен в список блокировки драйверов Microsoft в будущих обновлениях Windows
  • Windows 11 с активными HVCI/VBS может блокировать драйвер, несмотря на действительную подпись Microsoft
  • Смещения EPROCESS различаются в зависимости от сборки Windows; включённый список охватывает 10 22H2 и 11 23H2

Ссылки

  • WinNotify.sys / signeddrv.sys: уязвимый драйвер ядра с подписью Microsoft (2026, 0 обнаружений VT)
  • Cheat Engine: https://github.com/cheat-engine/cheat-engine
  • Ядро Windows NT: ObRegisterCallbacks, PsActiveProcessLinks, EPROCESS, CR3/DirectoryTableBase
  • Lazarus IDE: https://www.lazarus-ide.org/
  • LOLDrivers: https://www.loldrivers.io/

Только для академического использования — Этот проект является частью университетской диссертации/исследовательской программы. Он будет уничтожен по завершении академического семестра в соответствии с политикой университета.

Скачать инструмент