Архитектура EAC
Easy Anti-Cheat разработан Epic Games и работает на двух уровнях: user-mode и kernel-mode. При запуске игры EAC загружает как user-space сервис, так и kernel-драйвер.
Kernel-драйвер может отслеживать системные вызовы (syscalls), сканировать память и проверять подписи драйверов. Из-за этого простые user-mode хуки легко обнаруживаются EAC.
EAC также собирает данные на стороне сервера: игровое поведение, паттерны прицеливания и статистика отправляются на сервер. Так обнаруживаются некоторые читы, которые нельзя обнаружить напрямую.
Что сканирует EAC?
Основные категории обнаружения EAC:
Манипуляции с памятью: Код, внедрённый в игровой процесс, или записи в память.
Подписи драйверов: Неподписанные или подозрительные kernel-драйверы. Попытки обнаружить уязвимые драйверы, загруженные через BYOVD.
Имена процессов и пути к файлам: Имена процессов и файлов известных читерских инструментов.
Сбор HWID: Серийный номер диска, MAC-адрес, SMBIOS, GPU и UUID системы. Сравниваются с банлистом.
Скриншоты и сканирование памяти: Некоторые версии EAC могут делать скриншоты для обнаружения оверлеев.
Как EAC применяет HWID баны?
При обнаружении EAC отправляет собранные аппаратные идентификаторы (серийный номер диска, MAC, GPU и т.д.) на свой сервер, и они добавляются в базу данных банов. При следующем запуске игры EAC повторно собирает эти ID и сравнивает с банлистом.
Бан аккаунта: Steam/Epic аккаунт блокируется. HWID бан: ID добавляются в банлист, блокируя доступ даже с новым аккаунтом.
HWID Core нарушает этот процесс: запускается до старта игры и меняет серийный номер диска, MAC, SMBIOS, GPU и другие ID на уровне ядра. Когда EAC стартует и собирает ID, они больше не совпадают с банлистом — доступ предоставляется.
