- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 505
- Реакции
- 12
Народ, назрел классический вопрос по части отрисовки ESP, который до сих пор вызывает споры у тех, кто переходит от кодинга под оффлайн-помойки к серьезным проектам. Суть в чем: что на самом деле безопаснее в плане детекта античитами — создание отдельного OpenGL окна для оверлея или старый-добрый Hooking DirectX (Present/EndScene)?
Давайте разберем техническую базу, чтобы не гадать на кофейной гуще:
На мой взгляд, если мы говорим про серьезный андетект, то:
Этот код видит любой AC. Намного профитнее сейчас смотреть в сторону Overlay Hijacking (использование оверлеев Discord, Steam, NVIDIA) или вообще уходить в DMA, где отрисовка идет вторым устройством через Fuser.
Кто на чем сейчас рисует в актуальных проектах и ловили ли детекты именно за способ вывода графики?
Давайте разберем техническую базу, чтобы не гадать на кофейной гуще:
- DirectX Hooking (Internal): Если мы лезем в VMT или делаем inline-hook в самом процессе игры, то мы сразу подставляемся под проверку целостности кода. Любой вменяемый AC (EAC, BattlEye) чекает Present/EndScene. Если сигнатура функции изменена или указатель ведет в сторонний модуль — это инстант бан или как минимум флаг на аккаунт.
- OpenGL Overlay (External): Создание отдельного прозрачного окна поверх игры кажется более сейвовым вариантом, так как мы не трогаем память процесса отрисовки игры. Но тут встает вопрос скрытия самого окна. Использование WS_EX_LAYERED и WS_EX_TRANSPARENT — это база, но античиты давно научились перехватывать EnumWindows или искать оверлеи через BitBlt и другие WinAPI методы.
Если юзать External метод, то OpenGL часто выбирают из-за простоты инициализации контекста без лишнего мусора, который тянет за собой DX. Однако в плане безопасности разницы между внешним DX оверлеем и внешним OpenGL оверлеем почти нет — палится сам факт наличия Topmost окна, которое пытается мимикрировать под системное или вообще ни под что не мимикрирует.
На мой взгляд, если мы говорим про серьезный андетект, то:
Код:
// Пример типичного внешнего сетапа для оверлея
SetWindowLong(hwnd, GWL_EXSTYLE, getWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED | WS_EX_TRANSPARENT);
SetLayeredWindowAttributes(hwnd, RGB(0, 0, 0), 0, LWA_COLORKEY);
Этот код видит любой AC. Намного профитнее сейчас смотреть в сторону Overlay Hijacking (использование оверлеев Discord, Steam, NVIDIA) или вообще уходить в DMA, где отрисовка идет вторым устройством через Fuser.
Кто на чем сейчас рисует в актуальных проектах и ловили ли детекты именно за способ вывода графики?