Большинство современных античитов не ждут запуска клиента. Они анализируют окружение ещё до входа в игру. Это позволяет им выявлять подозрительную активность, даже если ты пока ничего не сделал.
Методы предварительного анализа:
1. Сканирование активных модулей в памяти
2. Проверка наличия подозрительных процессов (дебаггеры, инжекторы)
3. Сбор системной информации (HWID, MAC, имена дисков)
4. Анализ реестра
5. Проверка на виртуализацию и отладку
Пример: детект виртуальной машины
Этот бит указывает, работает ли система внутри виртуальной среды (Hyper-V, VMware и т.д.). Некоторые античиты сразу прерывают работу при его обнаружении.
1. Скрывай свои инструменты
Не инициируйте код сразу. Используй горячую клавишу или отложенный запуск после загрузки клиента. Это усложняет детект.
3. Антиотладочная логика
4. Как защитить свой код ?
Методы предварительного анализа:
1. Сканирование активных модулей в памяти
2. Проверка наличия подозрительных процессов (дебаггеры, инжекторы)
3. Сбор системной информации (HWID, MAC, имена дисков)
4. Анализ реестра
5. Проверка на виртуализацию и отладку
Пример: детект виртуальной машины
C++:
#include <windows.h>
BOOL IsRunningInVM() {
int cpuInfo[4] = { 0 };
cpuid(cpuInfo, 1);
return (cpuInfo[2] >> 31) & 1; // hypervisor бит установлен
}
Этот бит указывает, работает ли система внутри виртуальной среды (Hyper-V, VMware и т.д.). Некоторые античиты сразу прерывают работу при его обнаружении.
1. Скрывай свои инструменты
- Переименовывайте исполняемые файлы
- Удаляйте временные артефакты
- Шифруйте полезную нагрузку.
Не инициируйте код сразу. Используй горячую клавишу или отложенный запуск после загрузки клиента. Это усложняет детект.
3. Антиотладочная логика
C++:
BOOL IsDebuggerPresentCustom() {
return IsDebuggerPresent() || CheckRemoteDebuggerPresent(GetCurrentProcess(), NULL);
}
- Инжекция шеллкода вместо обычных dll
- Перемещение кода в нестандартные секции