Zu Inhalt springen

🚚 Kostenloser Versand ab €200

Evil Crow Cable Wind - jak zaprogramować firmware i nie zwariować

Evil Crow Cable Wind – Wie man die Firmware programmiert, ohne verrückt zu werden

Jeder, der schon einmal ein USB-Kabel in der Hand hielt und dachte: "Was wäre, wenn dieses Kabel mehr könnte, als nur das Telefon aufzuladen" - 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.

Heute zeige ich dir, wie du die neueste Firmware darauf flashen kannst - komplett von Grund auf, sauber, unter Windows. Und danach, wie man sich damit verbindet und loslegt.

Eigentlich könntest du diesen Leitfaden auch an eine KI verfüttern, und sie würde dich 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, musst du zuerst die entsprechende Firmware flashen.

Startbildschirm des Evil Crow Cable Panels

Was du brauchst

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. Du kannst 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 - Lade arduino-cli herunter

Gehe auf die Seite arduino-cli releases und lade die neueste ZIP-Version für Windows 64-Bit herunter. Entpacke sie in unser 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 - Konfiguriere 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 - Klone 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

Lass uns das aufschlüsseln, 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 dir 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 du den obigen Befehl ausführst, musst du wissen, an welchem Port das Kabel angeschlossen ist. Gib einfach Folgendes ein:

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

Du wirst 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

Merke dir die Portnummer und trage 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. Nimm einen Magneten (ein kleiner Neodym-Magnet reicht aus)
  2. Halte ihn an das aktive Ende des Kabels (das mit dem Aufkleber)
  3. Schließe das Kabel an den Computer an
  4. Nun befindet sich das Kabel im Programmiermodus und erscheint als COM-Port

Nachdem du die Firmware geflasht hast, lege 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 du Folgendes einstellst:

  • Netzwerkname: Evil Crow Cable Wind
  • Passwort: 123456789

Sobald der Hotspot läuft, schließe 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 Hotspot gehst du einfach in die Liste der verbundenen Geräte oder führst im Terminal Folgendes aus:

arp -a

Wir suchen nach einer Adresse im Subnetz des Hotspots - normalerweise etwas wie 192.168.0.x. Gib diese Adresse im Browser ein und du solltest 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 kannst du die SSID und das WiFi-Passwort auf dein eigenes ändern - dann verbindet sich das Kabel mit deinem Heimnetzwerk und du musst 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 deines Kabels ersetzt werden. Nach dem Hochladen startet das Kabel automatisch neu.

Zusammenfassung

Der gesamte Prozess von null auf eine funktionierende Firmware sieht wie folgt aus:

  1. Lade arduino-cli herunter, klone das Repository und die Bibliotheken
  2. Installiere den ESP32 Board Manager v3.2.0
  3. Halte den Magneten an, schließe das Kabel an, überprüfe den COM-Port
  4. Führe den Befehl compile --upload aus
  5. Richte den Hotspot ein, finde die IP, öffne 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 Flash-Vorgang 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: Verwende es verantwortungsbewusst und ausschließlich an Geräten, für die du autorisiert bist. Ethisches Hacken beginnt mit der Zustimmung des Besitzers.

Vorheriger Artikel Baofeng UV-5R - Bedienungsanleitung und wie Sie den vollen Frequenzbereich freischalten
Nächster Artikel Flipper Zero WiFi Board - wie fügt man dem Flipper WiFi hinzu?