Evil Crow Cable Wind: как установить прошивку в Windows
Evil Crow Cable Wind внешне напоминает обычный USB-кабель, но внутри него установлен микроконтроллер ESP32-S3 с Wi-Fi и флеш-памятью. Благодаря этому устройство может выполнять сценарии USB HID и управляться через веб-интерфейс.
В этом руководстве описана чистая установка актуальной прошивки в Windows, подключение устройства к сети и первый запуск веб-панели.
Команды ниже рассчитаны на Git Bash в Windows. Перед началом сверьте версии и требования с текущим README проекта.
Что внутри
Аппаратная основа Evil Crow Cable Wind — микроконтроллер ESP32-S3-PICO-1, размещённый в корпусе USB-кабеля. Конфигурация включает:
- 8 МБ встроенной флеш-памяти (не на SD-карте)
- 2 МБ PSRAM
- Wi-Fi и Bluetooth LE
- Интерфейс USB HID — устройство может определяться компьютером как клавиатура
Прошивка предоставляет веб-панель для создания, загрузки и запуска сценариев payload, а также настройки AutoExec. В контексте BadUSB устройство использует доверенный интерфейс USB HID для автоматизированного ввода команд. Такие функции следует проверять только на собственных системах или в пределах явно согласованного аудита.

Что потребуется
Для установки подготовьте следующие инструменты и компоненты:
- Arduino CLI — консольная утилита для компиляции и загрузки прошивки. В качестве альтернативы можно использовать Arduino IDE, однако дальнейшие команды приведены для CLI.
- ESP32 Board Manager v3.3.8 — платформа Espressif для Arduino с компилятором, средствами прошивки и описаниями плат. Именно версия 3.3.8 указана в актуальной инструкции проекта; при обновлении репозитория снова проверьте требуемую версию.
- Репозиторий EvilCrowCable-Wind — содержит прошивку и модифицированные библиотеки USB и Husarnet.
- Библиотека ArduinoJson — требуется прошивке для обработки конфигурации.
- Магнит — его необходимо приложить к активному концу кабеля, чтобы перевести устройство в режим программирования. Без магнита этот режим не активируется.
Подготовка среды шаг за шагом
Создайте рабочий каталог и загрузите необходимые компоненты.
Шаг 1 — Скачайте arduino-cli
Откройте страницу релизов Arduino CLI и скачайте ZIP-архив для 64-разрядной Windows. Пример ниже использует актуальную на момент проверки версию 1.5.1; при появлении нового релиза обновите номер версии в URL и имени файла.
mkdir EvilCrowCable-Wind-Setup
cd EvilCrowCable-Wind-Setup
curl -L -o arduino-cli.zip https://github.com/arduino/arduino-cli/releases/download/v1.5.1/arduino-cli_1.5.1_Windows_64bit.zip
unzip arduino-cli.zip -d arduino-cli-bin
Шаг 2 — Настройте менеджер плат ESP32
Добавьте URL репозитория Espressif и установите платформу ESP32 версии 3.3.8:
arduino-cli-bin/arduino-cli.exe config init --overwrite
arduino-cli-bin/arduino-cli.exe config add board_manager.additional_urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
arduino-cli-bin/arduino-cli.exe core update-index
arduino-cli-bin/arduino-cli.exe core install esp32:[email protected]
Загрузка платформы ESP32 объёмом более 1 ГБ может занять некоторое время.
Шаг 3 — Клонируйте репозитории и установите библиотеки
git clone https://github.com/joelsernamoreno/EvilCrowCable-Wind.git
git clone https://github.com/bblanchon/ArduinoJson.git
Скопируйте зависимости в каталог Documents\Arduino\libraries, используемый Arduino CLI. Команды ниже рассчитаны на Git Bash:
mkdir -p ~/Documents/Arduino/libraries
unzip EvilCrowCable-Wind/modified-libraries/USB.zip -d ~/Documents/Arduino/libraries/
unzip EvilCrowCable-Wind/modified-libraries/husarnet-esp32-arduino.zip -d ~/Documents/Arduino/libraries/
cp -r ArduinoJson ~/Documents/Arduino/libraries/ArduinoJson
Архивы USB и husarnet-esp32-arduino.zip в каталоге modified-libraries содержат модифицированные зависимости проекта. Их необходимо установить вручную вместе с ArduinoJson; стандартного менеджера библиотек недостаточно.
Компиляция и прошивка одной командой
После установки зависимостей скомпилируйте проект и сразу загрузите прошивку следующей командой:
arduino-cli-bin/arduino-cli.exe compile --fqbn "esp32:esp32:esp32s3:CDCOnBoot=default,CPUFreq=80,DFUOnBoot=default,FlashMode=qio,FlashSize=8M,PartitionScheme=default_8MB,UploadSpeed=921600,USBMode=hwcdc" --libraries ~/Documents/Arduino/libraries --upload --port COM3 EvilCrowCable-Wind/firmware
Основные параметры команды:
| Параметр | Значение | Что он делает |
|---|---|---|
--fqbn |
esp32:esp32:esp32s3:... |
Полное имя платы — определяет модель и параметры её конфигурации |
CDCOnBoot=default |
Отключено | Отключает USB CDC при загрузке |
CPUFreq=80 |
80 МГц (Wi-Fi) | Тактовая частота процессора — выбранные 80 МГц соответствуют конфигурации проекта |
DFUOnBoot=default |
Отключено | Отключает режим DFU при загрузке |
FlashMode=qio |
QIO 80 МГц | Режим обмена данными с флеш-памятью QIO |
FlashSize=8M |
8 МБ (64 Мбит) | Объём флеш-памяти устройства |
PartitionScheme=default_8MB |
3 МБ APP / 1,5 МБ SPIFFS | Схема разделов — 3 МБ для приложения и 1,5 МБ для файловой системы |
UploadSpeed=921600 |
921600 бод | Заданная скорость передачи прошивки; устойчивость зависит от USB-порта и соединения |
USBMode=hwcdc |
Hardware CDC and JTAG | Аппаратный режим USB CDC |
--port COM3 |
Последовательный порт | COM-порт устройства; его номер может отличаться |
--libraries |
Путь к библиотекам | Указывает каталог с установленными вручную библиотеками |
Параметр --upload указывает Arduino CLI сразу загрузить прошивку после компиляции. Без него утилита создаст только бинарный файл.
Как найти порт COM
Перед запуском команды определите COM-порт устройства:
arduino-cli-bin/arduino-cli.exe board list
Пример результата:
Port Protocol Type Board Name FQBN Core
COM3 serial Serial Port (USB) ESP32 Family Device esp32:esp32:esp32_family esp32:esp32
Подставьте найденный номер в параметр --port.
Режим программирования — магнит
Вместо кнопки BOOT в Evil Crow Cable Wind используется магнитный датчик. Для перехода в режим программирования:
- Возьмите небольшой магнит, например неодимовый.
- Приложите его к активному концу кабеля, отмеченному наклейкой.
- Подключите кабель к компьютеру.
- Устройство перейдёт в режим программирования и появится в системе как COM-порт.
После завершения загрузки уберите магнит: устройство перезагрузится с новой прошивкой.

Подключение к кабелю — веб-панель
Evil Crow Cable Wind работает как клиент Wi-Fi в режиме STA: устройство не создаёт собственную сеть, а подключается к заранее настроенной точке доступа.
Конфигурация Wi-Fi по умолчанию
В прошивке заданы следующие исходные параметры:
- SSID:
Evil Crow Cable Wind - Пароль:
123456789
После запуска устройство ищет сеть с указанным именем. Если точка доступа недоступна, соединение не устанавливается и веб-панель не открывается.
Создание изолированной точки доступа
Создайте на ноутбуке или телефоне отдельную лабораторную точку доступа с указанными параметрами. В Windows откройте «Параметры» > «Сеть и Интернет» > «Мобильный хот-спот» и задайте:
- Имя сети:
Evil Crow Cable Wind - Пароль:
123456789
Запустите точку доступа и подключите кабель к USB без магнита. Через несколько секунд устройство должно присоединиться к сети.
Поиск IP-адреса
При работающем mDNS веб-панель доступна по адресу http://cable-wind.local. Если имя не разрешается в Android или Windows, определите IP-адрес, назначенный устройству точкой доступа.
Проверьте список клиентов точки доступа или выполните в терминале:
arp -a
Найдите адрес устройства в подсети точки доступа, например 192.168.0.x, и откройте его в браузере.
Веб-панель
Веб-панель предоставляет следующие разделы:
- Home — статус устройства, информация о подключении
- Payload Editor — редактор сценариев payload в реальном времени
- Upload Payload — загрузка готовых скриптов
- List Payloads — список сохранённых сценариев payload
- AutoExec Planning — настройка автоматического запуска сценариев после подключения
- Config — настройка Wi-Fi, USB (Vendor ID, Product ID и имя устройства), имени хоста и раскладки клавиатуры
Сразу после первого входа измените стандартные SSID и пароль. Для испытаний используйте изолированную сеть без доступа к рабочим устройствам; подключение BadUSB-инструмента к домашней или корпоративной сети без необходимости увеличивает риск.
Обновление прошивки по Wi-Fi (OTA)
Если прошивка уже установлена и устройство подключено к Wi-Fi, следующие версии можно загружать через HTTP Update без магнита. Компьютер и кабель должны находиться в одной контролируемой сети.
Сначала экспортируйте бинарный файл с помощью Arduino CLI:
arduino-cli-bin/arduino-cli.exe compile --fqbn "esp32:esp32:esp32s3:CDCOnBoot=default,CPUFreq=80,DFUOnBoot=default,FlashMode=qio,FlashSize=8M,PartitionScheme=default_8MB,UploadSpeed=921600,USBMode=hwcdc" --libraries ~/Documents/Arduino/libraries --output-dir ./build EvilCrowCable-Wind/firmware
Затем отправьте файл на устройство командой curl:
curl -F "image=@./build/firmware.ino.bin" http://192.168.137.22/update
Замените IP-адрес актуальным адресом устройства. После успешной загрузки оно автоматически перезагрузится.
Итоги
Последовательность действий:
- Скачайте Arduino CLI, клонируйте репозитории и установите библиотеки.
- Установите ESP32 Board Manager v3.3.8.
- Приложите магнит, подключите кабель и проверьте COM-порт.
- Выполните команду
compile --upload. - Создайте изолированную точку доступа, найдите IP-адрес и откройте веб-панель.
В исходном тесте весь процесс занял около 15 минут, а сама загрузка прошивки — менее 10 секунд. Фактическое время зависит от скорости сети, компьютера и USB-соединения.
Evil Crow Cable Wind предназначен для изучения USB HID и проверки защиты от сценариев BadUSB. Используйте его только на собственных устройствах либо в рамках письменного разрешения, где заранее определены системы и допустимые методы тестирования.