Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Гайд EAC vs DSE Bypass — Почему ваш драйвер все равно отлетает

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
445
Реакции
10
Пока пастеры продолжают верить в святой патч g_CiOptions, разработчики античитов тихо курят в сторонке и собирают логи. Решил накидать базу по тому, как EasyAntiCheat_EOS.sys на самом деле видит ваши попытки обойти DSE (Driver Signature Enforcement).

Классическая идея «патчим ci.dll -> грузим -> ресторим -> профит» давно не работает так, как вам обещают в старых туторах. Если копнуть глубже в ядро, всплывает куча нюансов.

Как выглядит стандартный флоу (который вас палит):
  1. Патч g_CiOptions или манипуляции с CiValidateImageHeader.
  2. Вызов NtLoadDriver, который триггерит MmLoadSystemImage.
  3. Система сама добавляет ваш драйвер в PsLoadedModuleList.
  4. Создается DRIVER_OBJECT в директории \Driver\.
  5. Используется ключ сервиса в реестре.
  6. Выполняется DriverEntry, и вы радостно восстанавливаете патч.

На бумаге это кажется чистым, но EAC — это не школьный проект. Проблемы начинаются там, где вы оставляете следы.

Основные векторы детекта:

1. Списки модулей и системная инфа

EAC гуляет по PsLoadedModuleList не просто ради интереса. Они проверяют не только наличие модуля, но и:
  • Имя драйвера в списке;
  • Информацию о сертификате;
  • Целостность структур самого списка.

Даже если вы анклинкнулись из одного списка, есть SystemModuleInformation.
Код:
Expand Collapse Copy
NtQuerySystemInformation(SystemModuleInformation, ...)
Это тот же список, но другой путь доступа. Забыли про него — получили мисматч и флаг в базу.

2. Объект драйвера (DRIVER_OBJECT)
Многие забывают, что даже после удаления из списков модулей, в системе остается объект драйвера. Путь \Driver\YourDriverName — это абсолютно другая структура, и EAC отлично умеет её находить.

3. Тайминги и состояние Code Integrity
Через SystemCodeIntegrityInformation можно вытянуть текущее состояние CI.
Код:
Expand Collapse Copy
NtQuerySystemInformation(SystemCodeIntegrityInformation)
Если вы не попали в тайминг при патче/ресторе, античит зафиксирует изменение состояния проверки подписей в момент активности подозрительных процессов.

4. Парсинг сертификатов
Проверки стали намного жестче. EAC реально парсит цепочку (chain), проверяет эмитента и детектит самоподписанные (self-signed) сертификаты. Фейковая подпись сейчас — это билет в один конец.

Итог:
Простой рестор ci.dll не делает вас невидимым. Даже если вы почистили реестр, анклинкнулись и дропнули объект драйвера, вы лишь слегка снизили видимость. Консистентность структур ядра нарушена, и при глубоком скане это всплывает.

Загрузка до старта EAC немного помогает избежать колбэков в момент загрузки, но пост-сканы модулей и объектов никуда не деваются. DSE bypass — это не «гг, я в домике», а лишь один из этапов, который требует идеальной чистки хвостов.

Кто из местных уже пробовал фиксить консистентность объектов драйвера вручную или все на кастомные мапперы пересели?
 
Назад
Сверху Снизу