
USB-Aktivität spontan offenlegen

[!NOTE] USBvalve Version 1.0.0
Eine komplette Neuimplementierung der Anwendung wurde durchgeführt:
- weg von der Arduino IDE-Umgebung, der Code ist jetzt für das Pi Pico SDK geschrieben
- die Abhängigkeiten von externen Bibliotheken wurden stark reduziert
- die USB-Host-Unterstützung für Low-Speed-Geräte ist jetzt robuster (ATTiny85, EvilCrow, etc.)
- Hardware und Funktionalitäten sind nahezu unverändert, siehe die Hinweise unten für Details
Ich bin sicher, dass auch Sie, wie ich, gebeten wurden, Ihren USB-Stick in ein unbekanntes Gerät zu stecken... und dann der Zweifel:
Was ist hinter den Kulissen mit meinem armen Dongle passiert? Stiehlt er meine Dateien? Verschlüsselt er sie? Oder installiert er nur Malware? Mit USBvalve können Sie das in Sekunden herausfinden: gebaut auf supergünstiger Standard-Hardware können Sie schnell jede USB-Dateisystemaktivität testen und verstehen, was vor sich geht, bevor es zu spät ist!
Mit USBvalve erhalten Sie sofortiges Feedback darüber, was mit dem Laufwerk passiert; der Bildschirm zeigt Ihnen, ob auf das gefälschte Dateisystem, das auf dem Gerät aufgebaut wurde, zugegriffen, gelesen oder geschrieben wird:
und ab Version 0.8.0 können Sie es auch als USB-Host verwenden, um BADUSB-Geräte zu erkennen:
Dies ist ein Beispiel für den BADUSB-Debugger, der auf dem seriellen Port verfügbar ist:
Wenn Sie Videos bevorzugen, können Sie sich auch meine Insomni'hack-Präsentation ansehen.
Ab Version 0.15.0 wird eine neue Pi Pico Watch-Version unterstützt. Um die neue Version zu kompilieren, müssen Sie die Zeile #define PIWATCH am Anfang des Codes auskommentieren. Die Hardware ist ein RP2040-basiertes 1,28-Zoll-TFT-Display- und Uhr-Board. Weitere Informationen finden Sie hier.
Dies ist auch vollständig kompatibel mit dem Waveshare RP2040-LCD-1.28.
docs: Dokumentation über das Projekt, mit einer Präsentation, in der Sie alle Funktionen einsehen können
firmware: vorgefertigte Firmwares für den Raspberry Pi Pico. Sie können diese einfach verwenden und auf das Board flashen. Wir haben mehrere verschiedene Versionen, für 32 oder 64 Zeilen OLEDs, für Pico 1 oder Pico2, Pi Pico Watch, etc.
PCB: Gerber-Datei, wenn Sie die benutzerdefinierte Platine drucken möchten. Sie ist nicht zwingend erforderlich, Sie können Ihre eigene verwenden oder sie auf einem Breadboard aufbauen
src und data: Quellcode, wenn Sie die Firmware selbst ändern und bauen möchten
utils: einige Dienstprogramme, die Sie zum Erstellen eines benutzerdefinierten Dateisystems verwenden können
pictures: Bilder und Ressourcen, die in diesem Dokument verwendet werden
STL: STL-Dateien für das Gehäuse. In den Ordnern 1.1 und 1.2 befinden sich vollständige Gehäuse (Dank an WhistleMaster). In den Ordnern 1.2_64 und 1.2_64_simple befinden sich Gehäuse für den 128x64-Bildschirm (Dank an rtmq0227). Wenn Sie etwas Leichteres zum Schutz des LCDs möchten, können Sie USBvalve_sliding_cover.stl verwenden.
Wenn Sie Ihr eigenes bauen möchten, benötigen Sie:
In den Versionen 0.x.x wurde BOOTSEL verwendet, um das Gerät zurückzusetzen oder die Anzahl der HID-Ereignisse auszugeben (drücken > 2s).
Das Abfragen von BOOTSEL verursachte einige Probleme bei der BADUSB-Erkennung, daher wurde dies ab Version 1.0.0 entfernt und durch die folgenden zwei Optionen ersetzt:
GP0 und GND (Pads 1 und 3, siehe Bild unten für ein Beispiel), um die gleichen Funktionen zu erhaltenr (Reset) und h (HID-Ereignisse) vom seriellen Monitor
In PCB finden Sie auch eine Version 1.3 der Platine, mit einigen Löchern an den Pads 1 und 3, um die Montage des Tasters zu erleichtern. Aber wie Sie sehen können, können Sie auch Ihre alte Version verwenden.
Wenn Sie die BADUSB-Funktionen nicht verwenden oder wenn Sie eine geringere Erkennungsabdeckung bevorzugen, aber die BOOTSEL-Nutzung beibehalten möchten, stelle ich auch eine Firmware bereit, die mit aktiviertem bootsel erstellt wurde (siehe Ordner und Releases).
Dank an Tz1rf haben wir auch zwei großartige Videos: eines, das den Bauprozess Schritt für Schritt erklärt, und ein weiteres, das zeigt, wie man Firmware hochlädt und das Tool verwendet.
Fast die gesamte Arbeit wird direkt auf dem Board von der Software erledigt, sodass Sie nur die Verbindung mit dem OLED für die Ausgabe herstellen müssen.
Ab Version 0.8.0 der Firmware kann USBvalve HID-Geräte erkennen (verwendet zur Erkennung von BADUSB). Dies erfordert einen zusätzlichen USB-Anschluss, der als Host fungiert. Wenn Sie daran nicht interessiert sind, können Sie die alten Anweisungen im docs-Ordner verwenden und PCB-Version 1.1 nutzen. Andernfalls fahren Sie mit PCB-Version 1.2 fort (wir haben Versionen für USB-A oder USB-B, siehe Ordner).