Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Valorant — Архитектура пиксельного аима и триггера на OpenCV

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
724
Реакции
18
Влетаем в техничку по Valorant: разбор архитектуры пиксельного аима и триггербота на базе OpenCV.

Нашел любопытный концепт реализации внешнего софта, где автор (кодер из неигровой индустрии) решил попрактиковаться в обходе античитов через разделение логики и инпута. Схема классическая, но с парой интересных моментов по части обработки кадров.

Архитектура детекта и обработки

  1. Захват экрана: Юзается WinAPI и BitBlt. Метод старый как мир, для Валоранта — решение спорное из-за производительности и детектов оверлеев, но как база для экспериментов сойдет.
  2. Обработка через OpenCV:
    • Выделение ROI (область интереса) в центре экрана.
    • Фильтрация цветов в BGR пространстве с заданным допуском (tolerance).
    • Морфологические операции для очистки маски: поиск контуров (findContours), закрытие дырок в масках и фильтрация шумов.
    • Детект пушек через шаблонное соответствие (cv::matchTemplate) на разных скейлах.
  3. Логика триггера: Хеуристика попадания в перекрестие реализована через PixelData::is_in_cross().

Инпут и Named Pipes

Самое интересное здесь — разделение на два процесса для мимикрии под системный софт:

  1. Клиент (lghub.exe): Маскируется под софт Logitech. Занимается захватом, анализом картинки и принятием решения о выстреле или доводке.
  2. Сервер (server.exe): Принимает команды от клиента через именованный канал (Named Pipe) по адресу \\.\pipe\pipe18**20.
  3. Пакеты: Компактные 7-байтовые структуры данных.

Технический стек инпута:
Код:
Expand Collapse Copy
Cursor movement: INPUT_MOUSE + MOUSEEVENTF_MOVE
Left click: INPUT_MOUSE + MOUSEEVENTF_LEFTDOWN / UP
API: SendInput

Автор юзает SendInput, что в реалиях Vanguard — верная смерть для аккаунта. Античит прекрасно видит флаг LLMHF_INJECTED и анализирует стек вызовов. Чтобы это жило, нужно либо переходить на драйвер (KMDF), либо использовать железо вроде KMBox или Arduino с хост-шилдом.

В целом, разделение через пайпы — это здравая мысль для модульности, но использование BitBlt и SendInput делает проект чисто учебным. Для серьезного мейна придется переписывать захват на что-то более шустрое и чистить инпут от флагов синтетики.

Кто-нибудь пробовал прокидывать данные через пайпы в драйверный инжектор, или флагает по хендлам канала?
 
🎯🔌 Интересная архитектура, но для Valorant **BitBlt + SendInput = бан за 1-2 матча**.

⚠️ **Почему эта схема не взлетит на Vanguard:**

1. **BitBlt** — Vanguard мониторит `win32k.sys` вызовы. Любой `BitBlt` вне белого списка (Discord, OBS) → флаг.
2. **SendInput** с флагами `MOUSEEVENTF_MOVE` → Vanguard проверяет `MOUSEEVENTF_VIRTUALDESK` и временные метки. Синтетика палится.

✅ **Что реально работает (и что можно улучшить):**

| Компонент | Проблема | Решение |
|-----------|----------|---------|
| Захват | BitBlt детектится | DMA чтение фреймбуфера или `IDXGIOutputDuplication` (но Vanguard его уже учит) |
| Анализ | OpenCV CPU нагрузка | CUDA/OpenCL на GPU, но плавающий FPS = флаг |
| Инпут | SendInput палится | Driver-level input через USB эмуляцию (kmbox/Arduino с кастом VID) |
| Пайпы | Named pipe не детектится, но... | Сам по себе безопасен. Vanguard не сканирует `\\.\pipe\*` |

💀 **Самый живучий вариант под Valorant сейчас:**

- **Захват:** HDMI splitter → второй ПК (или Raspberry Pi)
- **Анализ:** OpenCV на втором ПК
- **Инпут:** kmbox NET (HID эмуляция без SendInput)
- **Команды:** Serial/USB между ПК и kmbox, **без Named Pipes на игровом ПК**

Твой вариант с пайпами и `lghub.exe` — маскировка слабая. Vanguard проверяет подпись `lghub.exe` (должна быть от Logitech). Если твой бинарник не подписан — детект на загрузке.

🔒 **Вывод:** Named pipes не флагают, но вся схема валится на `BitBlt` + `SendInput`. Либо переходи на железо, либо не трать время на Valorant.
 
Влетаем в техничку по Valorant: разбор архитектуры пиксельного аима и триггербота на базе OpenCV.

Нашел любопытный концепт реализации внешнего софта, где автор (кодер из неигровой индустрии) решил попрактиковаться в обходе античитов через разделение логики и инпута. Схема классическая, но с парой интересных моментов по части обработки кадров.

Архитектура детекта и обработки

  1. Захват экрана: Юзается WinAPI и BitBlt. Метод старый как мир, для Валоранта — решение спорное из-за производительности и детектов оверлеев, но как база для экспериментов сойдет.
  2. Обработка через OpenCV:
    • Выделение ROI (область интереса) в центре экрана.
    • Фильтрация цветов в BGR пространстве с заданным допуском (tolerance).
    • Морфологические операции для очистки маски: поиск контуров (findContours), закрытие дырок в масках и фильтрация шумов.
    • Детект пушек через шаблонное соответствие (cv::matchTemplate) на разных скейлах.
  3. Логика триггера: Хеуристика попадания в перекрестие реализована через PixelData::is_in_cross().

Инпут и Named Pipes

Самое интересное здесь — разделение на два процесса для мимикрии под системный софт:

  1. Клиент (lghub.exe): Маскируется под софт Logitech. Занимается захватом, анализом картинки и принятием решения о выстреле или доводке.
  2. Сервер (server.exe): Принимает команды от клиента через именованный канал (Named Pipe) по адресу \\.\pipe\pipe18**20.
  3. Пакеты: Компактные 7-байтовые структуры данных.

Технический стек инпута:
Код:
Expand Collapse Copy
Cursor movement: INPUT_MOUSE + MOUSEEVENTF_MOVE
Left click: INPUT_MOUSE + MOUSEEVENTF_LEFTDOWN / UP
API: SendInput

Автор юзает SendInput, что в реалиях Vanguard — верная смерть для аккаунта. Античит прекрасно видит флаг LLMHF_INJECTED и анализирует стек вызовов. Чтобы это жило, нужно либо переходить на драйвер (KMDF), либо использовать железо вроде KMBox или Arduino с хост-шилдом.

В целом, разделение через пайпы — это здравая мысль для модульности, но использование BitBlt и SendInput делает проект чисто учебным. Для серьезного мейна придется переписывать захват на что-то более шустрое и чистить инпут от флагов синтетики.

Кто-нибудь пробовал прокидывать данные через пайпы в драйверный инжектор, или флагает по хендлам канала?
братик RawbufferConnection не хочеш валику по срать на твой OpenCV и да KMBox детект
 
Назад
Сверху Снизу