SmartGuard Anticheat Solution
Отечественная система защиты клиента и сервера Lineage II, блокирующая инъекции, кликеры, эмуляцию ввода и модификацию файлов текстур.
1. Вектор Угрозы и Принцип Работы
SmartGuard представляет собой защитный комплекс для предотвращения запуска бот-программ, спуфинга HWID, перехвата пакетов и внедрения посторонних динамических библиотек в игровой клиент.
Клиентский модуль состоит из загрузчика и защищенной DLL, работающей в связке с серверным гейтом. Выполняет проверку цифровых подписей, хэширование файлов патча, защиту от отладки (Anti-Debug via NtSetInformationThread) и контроль целостности сетевого протокола.
2. Анализ Сетевого Протокола
Внедряет собственный протокольный слой поверх стандартного сетевого стека Lineage II. Клиент и сервер обмениваются криптографическими heartbeat-токенами, зашифрованными с помощью ChaCha20/AES. При нарушении тайминга или подмене подписи сервер немедленно закрывает соединение.
Идентифицированные Пакетные Сигнатуры:
| Опкод | Имя Пакета | Описание Поведения | HEX-Дамп Сигнатуры |
|---|---|---|---|
| 0xEE (Custom Guard) | SG_HWID_HANDSHAKE | Передача криптографического отпечатка железа (CPU, Motherboard, GPU, BIOS serial). | EE 01 A4 F2 98 BC D1 34 89 EF 02 11 87 |
| 0xEF (Custom Guard) | SG_HEARTBEAT_PING | Служебный пакет валидации контрольной суммы памяти Engine.dll с плавающим seed-числом. | EF 42 19 82 7A 00 00 12 FF EE DD CC |
| 0xF0 (Custom Guard) | SG_SECURITY_VIOLATION | Сигнал о фиксации несанкционированного потока или процесса (Cheat Engine, OllyDbg, Hook). | F0 03 00 00 00 56 4D 5F 48 4F 4F 4B 00 |
3. Исследование Хуков Памяти (Memory Hooks)
Осуществляет сканирование собственного адресного пространства L2.exe, проверяет контрольные суммы PE-секций (.text, .rdata), отслеживает несанкционированные вызовы VirtualProtect и перехватывает функции отладки Windows через NtSetInformationThread (ThreadHideFromDebugger).
- Детектирование скрытых хуков и инъекций памяти
- Блокировка программ отладки (x64dbg, Cheat Engine, IDA Pro)
- Аппаратный бан по HWID (CPU ID, Motherboard UUID, MAC Address, GPU HWID)
- Постоянное обновление сигнатурной базы бот-софта
- Шифрование трафика дополнительным защитным слоем поверх стандартного Blowfish
- Централизованная база блокировок нарушителей
4. Серверные Стратегии Митигации (Реализация)
Пример реализации серверного фильтра валидации для интеграции в ядро игрового сервера (L2J / Java Core):
// SmartGuard Server Gateway Integration Handler
public final class SmartGuardGateService {
public static boolean validateClientSecurityHandshake(L2Client client, byte[] payload) {
if (payload == null || payload.length < 32) {
client.close(ServerClose.STATIC_PACKET);
return false;
}
// Проверка криптографической подписи защищенного заголовка
boolean isValidSignature = SmartGuardCrypto.verifyPayloadSignature(client.getSessionKey(), payload);
if (!isValidSignature) {
SecurityLogger.warn("Недопустимая подпись защиты от клиента: " + client.getIpAddress());
client.closeNow();
return false;
}
// Регистрация доверенного отпечатка HWID
client.setHwidLockValid(true);
return true;
}
}