Reverse Engineering von USB-Protokollen

Die mangelhafte Dokumentation fernöstlicher Produkte mit eigenwilliger Software ist ärgerlich. Wir haben das USB-Protokoll eines Lasergravierers überarbeitet.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Reverse Engineering von USB-Protokollen
Lesezeit: 15 Min.
Von
  • Bernd Breitenbach
Inhaltsverzeichnis

Ich war schon seit einiger Zeit auf der Suche nach einem preiswerten Lasergravierer zum Gravieren von Namen auf Holz. Jetzt wurde ich auf einen 3000mW-Lasergravierer vom chinesischen Hersteller KKMoon aufmerksam, den man auch über einen deutschen Online-Shop für etwas über 100 Euro beziehen konnte.

Kurzinfo
  • Reverse Engineering von USB-Protokollen
  • Lasergravierer-Datenverkehr mit Wireshark analysiert
  • Aufzeichnen und Untersuchen von USB-Paketen

Checkliste

  • Zeitaufwand: ein Wochenende
  • Programmieren: fundierte Programmier- und Linux-Kenntnisse
  • Entwerfen: Vektor-Zeichenprogramm beherrschen
  • Kosten: kostenlos

Meine durch die Produktbeschreibung geschürte Befürchtung, dass das Gerät nur mit einer Windows- und Mac-Software geliefert werden würde, bestätigte sich dann auch. Da ich privat fast ausschließlich mit Linux arbeite, aber noch Windows 7 in einer VirtualBox-Instanz für Legacy-Software vorhalte und das Durchschleifen von USB-Geräten bisher weitgehend problemlos funktionierte, rechnete ich mir auch für den Lasergravierer gute Chancen aus, diesen aus der VirtualBox betreiben zu können.

Die Software wird auf einem USB-Stick ausgeliefert. Sie besteht aus einer Exe-Datei in unterschiedlichen Sprachvarianten und einer Treiberinstallation. Vor dem ersten Start legte ich einen Snapshot der virtuellen Maschine an, um gegebenenfalls unerwünschte "Bonusfeatures" der Software oder des Treibers schnell wieder entfernen zu können. Trau schau wem!