Kernel
Выполнение кода на уровне ядра ОС.
Уровень системы
Render-truth
Anti-Cheat сравнивает, что читер видит на своём экране, с тем, что сервер знает на самом деле. Разрыв между двумя картинами — это улика.
Δ игрок виден сквозь 3 блока — аномалия
Проблема
Они прячутся глубоко, куда обычный античит просто не смотрит.
Выполнение кода на уровне ядра ОС.
Уровень системы
Аппаратное чтение и запись памяти через внешнюю плату.
Внешняя плата
Комплекс мер для обхода систем защиты.
Обход защиты
Перехват системных или игровых функций.
Перехват функций
Инструмент для подмены HWID.
Маскировка железа
Вспомогательный GUI поверх игры.
Вспомогательный GUI
Запуск кода через аппаратную виртуализацию.
Виртуализация системы
Бинарный код для выполнения инструкций в памяти.
Исполняемый код
Внедрение динамической библиотеки в процесс.
Внедрение библиотеки
Сборка ПО с изменёнными сигнатурами.
Изменённое ПО
Загрузка драйвера в память без его регистрации в системе.
Сторонний драйвер
Как ловим
Каждый слой смотрит туда, куда не достаёт предыдущий.
Сравниваются знания сервера и игрока о мире.
Агент и драйвер проверяют память и процессы на уровне системы.
Находит паттерн, который не описать ни одним правилом.
Приманки, встроенные в мир, незаметные для обычного игрока, но выдающие читера.
Доказательства
Бан выносится только тогда, когда сходятся несколько независимых доказательств.
| Угроза | Обычный античит | Anti-Cheat | Риск ложного бана |
|---|---|---|---|
| WallHack & ESP | ✕ | ✓ | Низкий |
| Kernel | ✕ | ✓ | Низкий |
| Inject | ✕ | ✓ | Низкий |
| Честный мод | Ложный бан | — | — |
Последняя строка — проверка на корректность: мод, который другие банят по ошибке, здесь проходит чисто.
Внедрение
Прежде чем ловить читера в игре, античит проверяет клиент. Честная сборка получает подпись, подделанная — ничего.
Игрок заходит с честным клиентом — ровно тем, что проверяет античит.
Агент подписывает клиент и выдаёт паспорт, который нельзя подделать или скопировать.
Клиент тронули — паспорт не выдаётся, игрока не пускает ещё до захода на сервер.
Доверие
Бан бьёт по живому игроку, поэтому каждое решение можно открыть и разобрать по уликам.
Каждый бан открывает список улик с их весом.
Решение можно оспорить — разбор пересматривается.
Данные обезличены, хранится необходимый минимум.
Защита сервера
Подключите Amti-Cheat к проекту, посмотрите первые вердикты на реальном трафике и настройте лестницу наказаний по вашим правилам.