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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/gmh5225/cheat-engine-undetectable
ЭксплуатацияОбратная инженерияАнализ вредоносных программОбучение и ОбразованиеRed TeamingЭксплуатация Бинарных Файлов
GitHubgmh5225/cheat-engine-undetectable

cheat-engine-undetectable

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

Репозиторий
882 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

Cheat Engine Undetectable

Академическая исследовательская редакция — модифицированный 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)

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

Уровень 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\ или рядом со скомпилированным исполняемым файлом

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

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

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

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