перейти к содержанию

🚚 Бесплатная доставка от $200

Две руки держат смотанный чёрный кабель с двумя разъёмами USB-C на фоне размытой серверной с зелёными и синими индикаторами.

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 для автоматизированного ввода команд. Такие функции следует проверять только на собственных системах или в пределах явно согласованного аудита.

Главный экран панели Evil Crow Cable

Что потребуется

Для установки подготовьте следующие инструменты и компоненты:

  • 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 используется магнитный датчик. Для перехода в режим программирования:

  1. Возьмите небольшой магнит, например неодимовый.
  2. Приложите его к активному концу кабеля, отмеченному наклейкой.
  3. Подключите кабель к компьютеру.
  4. Устройство перейдёт в режим программирования и появится в системе как 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-адрес актуальным адресом устройства. После успешной загрузки оно автоматически перезагрузится.

Итоги

Последовательность действий:

  1. Скачайте Arduino CLI, клонируйте репозитории и установите библиотеки.
  2. Установите ESP32 Board Manager v3.3.8.
  3. Приложите магнит, подключите кабель и проверьте COM-порт.
  4. Выполните команду compile --upload.
  5. Создайте изолированную точку доступа, найдите IP-адрес и откройте веб-панель.

В исходном тесте весь процесс занял около 15 минут, а сама загрузка прошивки — менее 10 секунд. Фактическое время зависит от скорости сети, компьютера и USB-соединения.

Evil Crow Cable Wind предназначен для изучения USB HID и проверки защиты от сценариев BadUSB. Используйте его только на собственных устройствах либо в рамках письменного разрешения, где заранее определены системы и допустимые методы тестирования.

Предыдущая статья Baofeng UV-5R: настройка, CHIRP и правила передачи
Следующая статья Flipper Zero WiFi Board: как добавить Wi‑Fi к Flipper Zero