Zu Inhalt springen

🚚 Kostenloser Versand ab €200

Zwei Hände halten ein aufgerolltes schwarzes Kabel mit zwei USB-C-Steckern vor dem unscharfen Hintergrund eines Serverraums mit grünen und blauen LEDs.

Evil Crow Cable Wind: Firmware unter Windows installieren

Wer schon einmal ein USB-Kabel in der Hand hielt und sich fragte: „Könnte dieses Kabel mehr als nur ein Telefon aufladen?“, ist wahrscheinlich irgendwann auf das Evil Crow Cable Wind gestoßen. Es ist ein unscheinbares USB-Kabel, das in seinem Inneren einen ESP32-S3-Mikrocontroller mit WiFi, Flash-Speicher und Ambitionen verbirgt, die weit über seine Größe hinausgehen.

In diesem Leitfaden zeige ich Ihnen, wie Sie die neueste Firmware vollständig von Grund auf und sauber unter Windows flashen können. Anschließend erfahren Sie, wie Sie sich mit dem Kabel verbinden und die ersten Schritte ausführen.

Eigentlich könnten Sie diesen Leitfaden auch an eine KI verfüttern, und sie würde Sie an die Hand nehmen... :)

Was steckt drin

Das Evil Crow Cable Wind ist eigentlich ein vollwertiger ESP32-S3-PICO-1 Mikrocontroller, verpackt in einem USB-Kabelgehäuse. Konkret steht uns zur Verfügung:

  • 8 MB Flash-Speicher (eingebaut, nicht auf einer SD-Karte)
  • 2 MB PSRAM
  • WiFi und Bluetooth LE
  • USB HID-Schnittstelle - das Kabel kann eine Tastatur simulieren

Die Firmware bietet ein Web-Panel, über das man Payloads schreiben und ausführen, Skripte hochladen und Autoexec planen kann - kurz gesagt, alles, was man für die Arbeit mit BadUSB braucht. Aber damit das alles funktioniert, müssen Sie zuerst die entsprechende Firmware flashen.

Startbildschirm des Evil Crow Cable Panels

Was Sie benötigen

Bevor wir zum eigentlichen Spaß übergehen, müssen wir unseren Arbeitsplatz vorbereiten. Die Einkaufsliste sieht wie folgt aus:

  • Arduino CLI - ein Konsolenwerkzeug zum Kompilieren und Flashen der Firmware. Sie können natürlich auch die vollständige Arduino IDE mit grafischer Oberfläche verwenden, aber warum klicken, wenn man einen einzigen Befehl eingeben kann?
  • ESP32 Board Manager v3.2.0 - die Espressif-Plattform für Arduino, enthält den Compiler, Flash-Tools und Board-Definitionen. Version 3.2.0 ist zwingend erforderlich - neuere können Inkompatibilitäten aufweisen.
  • EvilCrowCable-Wind Repository - hier befinden sich die Firmware und die modifizierte USB-Bibliothek.
  • ArduinoJson-Bibliothek - die Firmware benötigt sie zur Verarbeitung der Konfiguration.
  • Ein Magnet - ja, ein physischer Magnet. An das aktive Ende des Kabels gehalten, schaltet er es in den Programmiermodus. Ohne ihn verhält sich das Kabel wie ein normales USB-Kabel und kann nicht geflasht werden.

Schritt-für-Schritt Einrichtung der Umgebung

Wir beginnen mit der Erstellung eines Arbeitsverzeichnisses und dem Herunterladen von allem, was benötigt wird.

Schritt 1 - Laden Sie arduino-cli herunter

Gehen Sie auf die Seite arduino-cli releases und laden Sie die neueste ZIP-Version für Windows 64-Bit herunter. Entpacken Sie das Archiv in das Arbeitsverzeichnis.

mkdir EvilCrowCable-Wind-Setup
cd EvilCrowCable-Wind-Setup
curl -L -o arduino-cli.zip https://github.com/arduino/arduino-cli/releases/download/v1.4.1/arduino-cli_1.4.1_Windows_64bit.zip
unzip arduino-cli.zip -d arduino-cli-bin

Schritt 2 - Konfigurieren Sie den ESP32 Board Manager

Wir fügen die URL des Espressif-Repositories hinzu und installieren die ESP32-Plattform in der Version 3.2.0:

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]

Das dauert einen Moment - die ESP32-Plattform ist über 1 GB groß. Ein guter Zeitpunkt für einen Kaffee.

Schritt 3 - Klonen Sie das Repository und die Bibliotheken

git clone https://github.com/joelsernamoreno/EvilCrowCable-Wind.git
git clone https://github.com/bblanchon/ArduinoJson.git

Nun müssen die Bibliotheken dorthin kopiert werden, wo die Arduino CLI sie sucht - in den Ordner Documents\Arduino\libraries:

mkdir -p ~/Documents/Arduino/libraries
unzip EvilCrowCable-Wind/modified-libraries/USB.zip -d ~/Documents/Arduino/libraries/
cp -r ArduinoJson ~/Documents/Arduino/libraries/ArduinoJson

Die USB Bibliothek im Verzeichnis modified-libraries ist eine modifizierte Version der ESP32 USB-Bibliothek - sie ist keine Standardbibliothek aus dem Manager und muss daher manuell installiert werden. Ohne sie lässt sich die Firmware nicht kompilieren.

Flashen - ein einziger Befehl

Und nun zum besten Teil. Die gesamte Kompilierung und das Hochladen der Firmware mit einem Befehl im Terminal:

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

Schlüsseln wir das auf, denn es sieht einschüchternd aus:

Parameter Wert Was er macht
--fqbn esp32:esp32:esp32s3:... Fully Qualified Board Name - identifiziert das Board und seine Konfiguration
CDCOnBoot=default Deaktiviert Deaktiviert USB CDC beim Booten
CPUFreq=80 80MHz (WiFi) Prozessortakt - 80 MHz reichen aus und sparen Energie
DFUOnBoot=default Deaktiviert Deaktiviert den DFU-Modus beim Booten
FlashMode=qio QIO 80MHz Kommunikationsmodus mit dem Flash-Speicher - der schnellste verfügbare
FlashSize=8M 8MB (64Mb) Größe des Flash-Speichers im Kabel
PartitionScheme=default_8MB 3MB APP / 1.5MB SPIFFS Partitionsschema - 3 MB für die Anwendung, 1.5 MB für das Dateisystem
UploadSpeed=921600 921600 Baud Upload-Geschwindigkeit - je schneller, desto besser
USBMode=hwcdc Hardware CDC und JTAG USB-Modus - Hardware CDC
--port COM3 Serieller Port Der Port, an dem das Kabel erkannt wird - kann bei Ihnen ein anderer sein
--libraries Pfad zu Bibliotheken Verweist auf unsere manuell installierten Bibliotheken

Das Flag --upload weist die arduino-cli an, die Firmware nach der Kompilierung sofort auf das Gerät hochzuladen. Ohne dieses Flag erhalten wir nur eine kompilierte Binärdatei.

Wie man den COM-Port findet

Bevor Sie den obigen Befehl ausführen, müssen Sie wissen, an welchem Port das Kabel angeschlossen ist. Geben Sie einfach Folgendes ein:

arduino-cli-bin/arduino-cli.exe board list

Sie werden in etwa so etwas sehen:

Port  Protocol Type              Board Name          FQBN                      Core
COM3  serial   Serial Port (USB) ESP32 Family Device esp32:esp32:esp32_family esp32:esp32

Merken Sie sich die Portnummer und tragen Sie sie in den Parameter --port ein.

Programmiermodus - der Magnet

Dies ist das Element, das das Evil Crow Cable Wind von einem normalen Entwicklungsboard unterscheidet. Das Kabel hat keinen BOOT-Button - stattdessen hat es einen Magnetsensor. Um in den Programmiermodus zu wechseln:

  1. Nehmen Sie einen Magneten (ein kleiner Neodym-Magnet reicht aus)
  2. Halten Sie ihn an das aktive Ende des Kabels (das mit dem Aufkleber)
  3. Schließen Sie das Kabel an den Computer an
  4. Nun befindet sich das Kabel im Programmiermodus und erscheint als COM-Port

Nachdem Sie die Firmware geflasht haben, legen Sie den Magneten weg. Das Kabel wird neu gestartet und führt die neue Firmware aus.

Anwendung des Magneten beim Kabel

Mit dem Kabel verbinden - das Web-Panel

Die Firmware ist geflasht, das Kabel funktioniert. Aber wie kommuniziert man damit? Das Evil Crow Cable Wind verbindet sich als Client (STA-Modus) mit einem WiFi-Netzwerk - das heißt, es baut kein eigenes Netzwerk auf, sondern verbindet sich mit einem bestehenden.

Standardmäßige WiFi-Konfiguration

In der Firmware sind standardmäßig die folgenden Daten hinterlegt:

  • SSID: Evil Crow Cable Wind
  • Passwort: 123456789

Nach dem Start sucht das Kabel nach einem Netzwerk mit diesem Namen und versucht sich damit zu verbinden. Findet es keines, stellt es einfach keine Verbindung her und das Web-Panel ist nicht erreichbar.

Einrichten eines Hotspots

Am einfachsten ist es, einen Hotspot auf dem Laptop oder Handy mit genau den oben genannten Parametern einzurichten. Unter Windows geht das über Einstellungen > Netzwerk und Internet > Mobiler Hotspot, indem Sie Folgendes einstellen:

  • Netzwerkname: Evil Crow Cable Wind
  • Passwort: 123456789

Sobald der Hotspot läuft, schließen Sie das Kabel an den USB-Port an (ohne Magnet). Nach wenigen Sekunden sollte sich das Kabel automatisch mit dem Netzwerk verbinden.

Die IP-Adresse finden

Theoretisch sollte das Kabel unter http://cable-wind.local dank mDNS erreichbar sein. Praktisch funktioniert mDNS auf Android oft nicht und ist unter Windows manchmal launisch. Deshalb ist es besser zu überprüfen, welche IP-Adresse das Kabel erhalten hat.

Auf einem Laptop mit aktivem Hotspot öffnen Sie einfach die Liste der verbundenen Geräte oder führen im Terminal den folgenden Befehl aus:

arp -a

Wir suchen nach einer Adresse im Subnetz des Hotspots - normalerweise etwas wie 192.168.0.x. Geben Sie diese Adresse im Browser ein und Sie sollten das Evil Crow Cable Wind Panel sehen.

Das Web-Panel

Nach Aufruf der IP-Adresse des Kabels im Browser steht uns ein vollständiges Management-Panel zur Verfügung:

  • Home - Gerätestatus, Verbindungsinformationen
  • Payload Editor - Payload-Editor in Echtzeit
  • Upload Payload - Hochladen vorgefertigter Skripte
  • List Payloads - Liste der gespeicherten Payloads
  • AutoExec Planning - Planung der automatischen Skriptausführung nach dem Einstecken
  • Config - Konfiguration von WiFi, USB (Vendor ID, Product ID, Gerätename), Hostname und Tastaturlayout

Im Bereich Config können Sie die SSID und das WLAN-Passwort durch eigene Werte ersetzen - dann verbindet sich das Kabel mit Ihrem Heimnetzwerk und Sie müssen nicht jedes Mal einen dedizierten Hotspot einrichten.

OTA-Firmware-Update (Over-The-Air)

Wenn das Kabel bereits mit der Firmware geflasht und mit einem WiFi-Netzwerk verbunden ist, können weitere Updates kabellos aufgespielt werden - ohne Magnet und ohne Anschluss an den Computer.

In der Arduino CLI exportieren wir die kompilierte Binärdatei:

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

Anschließend senden wir sie mit einem einzigen curl-Befehl an das Kabel:

curl -F "image=@./build/firmware.ino.bin" http://192.168.137.22/update

Natürlich muss die IP-Adresse durch die aktuelle Adresse Ihres Kabels ersetzt werden. Nach dem Hochladen startet das Kabel automatisch neu.

Zusammenfassung

Der gesamte Weg vom Ausgangszustand bis zur funktionsfähigen Firmware sieht wie folgt aus:

  1. Laden Sie arduino-cli herunter, klonen Sie das Repository und die Bibliotheken
  2. Installieren Sie den ESP32 Board Manager v3.2.0
  3. Halten Sie den Magneten an, schließen Sie das Kabel an, überprüfen Sie den COM-Port
  4. Führen Sie den Befehl compile --upload aus
  5. Richten Sie den Hotspot ein, finden Sie die IP, öffnen Sie das Panel im Browser

Das Ganze - von einer leeren Festplatte bis hin zu einem funktionierenden Web-Panel - dauert etwa 15 Minuten, wovon die meiste Zeit auf das Herunterladen der ESP32-Plattform entfällt. Der Flashvorgang selbst dauert keine 10 Sekunden.

Das Evil Crow Cable Wind ist ein interessantes Werkzeug für Sicherheitstests und das Erlernen von BadUSB-Angriffen. Wie bei jedem solchen Tool gilt: Verwenden Sie es verantwortungsbewusst und ausschließlich an Geräten, für die Sie autorisiert sind. Ethisches Hacken beginnt mit der Zustimmung des Besitzers.

Vorheriger Artikel Baofeng UV-5R: Bedienungsanleitung und Freischaltung des Frequenzbereichs
Nächster Artikel Flipper Zero WiFi Board: WLAN für den Flipper Zero