-
Автор темы
- #1
Так как современные античит-системы постоянно совершенствуются, то остаётся один способ оставаться андетект - это использование HID-отчетов вместо традиционного COM-порта. Это позволяет эмулировать движения мыши, исключая необходимость в Wi-Fi, Ethernet или других легко обнаруживаемых способах передачи данных. Именно таким способом я хочу с вами сегодня поделиться. На момент написания статьи его не детектит Вангуард, поэтому можете спокойно использовать в ближайшем будущем, да и в целом технология обхода такая, что сложно будет её отличить от обычных («человеческих») движений мыши.

Почему этот метод сложнее отследить?
Обычные боты работают через COM-порт, а это сразу вызывает подозрение у античит-систем. Однако HID (Human Interface Device) – это стандарт, используемый настоящими мышами и клавиатурами. Если правильно настроить передачу данных, система воспримет устройство как обычную мышь.
Примечание: хотя этот метод не вызывает автоматического детекта от античита, в ручном режиме админы все же могут выявить подозрительную активность и вы будете забанены.
Что понадобится для работы?
Перед началом P2C убедитесь, что у вас есть рабочие:
- Arduino Leonardo или Pro Micro, то есть платы, поддерживающие HID. Продаются на любом маркетплейсе за копейки.
- USB Host Shield, совместимый с вашей платой.
- Библиотека HID-Project в Ардуино IDE.
- Редактор кода (Ардуино IDE, Визуал Студио и т. д.).
Подключаем USB Host Shield и подготавливаем код
1. Настройка базового скрипта
- Загрузите скрипт USB Host Shield, который уже поддерживает работу с вашей мышью.
- Удалите всю Serial-коммуникацию, так как ком-порт больше не нужен.
- Отредактируйте
hidcustom
, чтобы он соответствовал вашему устройству.
Добавляем библиотеку и определяем массив данных:
C++:
uint8_t rawHidData[RAWHID_SIZE];
setup()
:
C++:
RawHID.begin(rawHidData, sizeof(rawHidData));
loop()
:
C++:
if (RawHID.available()) {
int bytesRead = RawHID.read();
uint8_t buttons = rawHidData[0];
int8_t x = rawHidData[1];
int8_t y = rawHidData[2];
if (buttons == 1) {
Mouse.press(MOUSE_LEFT);
Mouse.release(MOUSE_LEFT);
}
Mouse.move(x, y);
RawHID.enable();
}
int8_t
нужен, потому что стандартная библиотека Mouse в Arduino принимает именно такие данные.
Создание скрипта на Python для передачи данных
- Установите библиотеку hid
(pip install hid)
. - Определите PID и VID вашей мыши.
- Реализуйте передачу отчетов в формате HID.
Python:
import hid
vendor_id = 0xYOURMOUSEVIDHERE
product_id = 0xYOURMOUSEPIDHERE
try:
device = hid.device()
device.open(vendor_id, product_id)
print("Подключено к мыши")
except Exception as e:
print(f"Ошибка: {e}")
def unsign(value):
return value & 0xFF
def mouse(buttons, x, y):
x = unsign(x)
y = unsign(y)
report = [buttons, x, y]
print(f"Отправка отчета: {report}")
device.write(report)
mouse(1, 10, 10) # Клик и движение на 10 пикселей
device.close()
Как сделать передачу данных более естественной?
Вместо
[buttons, x, y]
можно передавать данные так, как это делает реальная мышь:
Код:
[00, buttons, x, y, 00, 00]
Что это дает?
- 00 в начале – пустой байт, который есть у большинства мышей.
- 00, 00 в конце – места для скролла и наклона.
Дополнительные меры предосторожности
- Используйте альт-ПК для загрузки кода.
- Выключайте Вангуард перед прошивкой
(sc stop vgk)
. - Не оставляйте КОМ-порты открытыми в коде.
Последнее редактирование: