SigDigger verwandelt einen SDR-Empfänger in ein Reverse-Engineering-Labor für Funksignale
Wenn Sie jemals einen RTL-SDR oder HackRF gestartet haben, haben Sie sich wahrscheinlich an das Spektrum-Wasserfalldiagramm in Gqrx oder SDR# geklebt. Wunderschöne bunte Spuren fließen über den Bildschirm, mit ständig blinkenden, klickenden und Pakete in der Luft übertragenden Signalen. Aber sobald Sie auf ein unbekanntes digitales Signal stoßen, stoßen Standard-SDR-Programme an ihre Grenzen. FM-Radio oder Walkie-Talkies sind kein Problem, aber um eine Binärübertragung von einem drahtlosen Sensor oder einem Torantrieb zu dekodieren, müssen Sie normalerweise komplexe Setups in GNU Radio erstellen oder rohe IQ-Samples schmerzhaft in Drittanbieter-Tools exportieren.
Genau diese Lücke schließt SigDigger.

Was es ist
SigDigger ist ein interaktiver digitaler Funksignalanalysator mit einer Qt-Grafikoberfläche. Das Programm nimmt den Stream von einem SDR-Gerät über die universelle SoapySDR-Schicht entgegen und bietet Werkzeuge zum Sezieren unbekannter Signale im Handumdrehen.
Der Projektautor, ein Funkamateur mit dem Rufzeichen EA1IYR, hat Software entwickelt, die für schnelle Funkaufklärung optimiert ist. Die Anwendung läuft auf GNU/Linux und macOS und kombiniert einen visuellen Spektrumanalysator mit Demodulations- und Dekodierungsmodulen.
Wofür SigDigger in der Praxis nützlich ist
Im Gegensatz zu konventionellen SDR-Empfängern liegt der Fokus hier auf der Analyse der Datenstruktur. Hier sind die Dinge, die ins Auge fallen:
- Interaktive Echtzeit-Demodulation. Sie wählen einen Spektralbereich mit der Maus aus und konfigurieren den Demodulator für den gewünschten Modulationstyp: FSK, PSK oder ASK. Das Programm zeigt sofort den Binärdatenstrom, Phasenkonstellationen und Trägerparameter an.
- Paket- und Impulssignalanalyse. Für Funksignale, die nur für Bruchteile einer Sekunde erscheinen, gibt es einen Burst-Capture-Modus. Sie können Impulsflanken und Übertragungszeiten detailliert untersuchen.
- Analoge Videodekodierung. Wenn eine alte Überwachungskamera oder ein analoger Video-Sender auf 5,8 GHz in der Nähe arbeitet, kann SigDigger Frames in Echtzeit rendern.
- Analoges Audio-Hören. Die Grundfunktionen eines normalen Empfängers sind noch vorhanden: AM-, FM- und SSB-Kanäle funktionieren wie erwartet.
- Plugin-Unterstützung. Spezifische Dekoder werden über Plugins angebunden, wie z.B. der Empfang von NOAA APT-Wettersatellitenbildern oder der Export von Daten über ZeroMQ zur weiteren Verarbeitung in Python.
Warum die Oberfläche so ähnlich wie Gqrx aussieht
Der erste Eindruck der Screenshots löst Déjà-vu aus: Das Fensterlayout und das Wasserfalldiagramm sehen genau wie Gqrx aus. Der Autor erklärt dies ehrlich in der Dokumentation: Die Gqrx-Oberfläche erwies sich als die bequemste und praktischste unter den vorhandenen.
Statt das Rad neu zu erfinden und gegen die Gier von Grafik-Widgets zu kämpfen, hat der Entwickler die bewährte Wasserfall-Komponente von Gqrx übernommen und für seine Bedürfnisse angepasst, mit einem OpenGL-Backend und benutzerdefinierten Farbpaletten.
SigDigger ist jedoch darunter völlig anders aufgebaut. Gqrx stützt sich auf das schwergewichtige GNU Radio-Framework. SigDigger verwendet seine eigene digitale Signalverarbeitungs-Engine namens Suscan und die Low-Level-Bibliothek Sigutils. Das Streaming-Modell und die Queue-Verarbeitung sind dort für parallele Signalanalyse mit minimaler Latenz optimiert.
Wie man das Projekt ausführt
Die komplexe Architektur hat einen Nachteil: Um alles aus dem Quellcode zu bauen, müssen Sie sich durch eine Kette von Abhängigkeiten arbeiten. SigDigger stützt sich auf drei verwandte Projekte des Autors: sigutils, suscan und die Interface-Komponentenbibliothek SuWidgets.
Manuelles Bauen sieht einschüchternd aus:
git clone --recursive https://github.com/BatchDrake/sigutils
cd sigutils && mkdir -p build && cd build && cmake .. && make && sudo make install && cd ../..
git clone --recursive https://github.com/BatchDrake/suscan
cd suscan && mkdir -p build && cd build && cmake .. && make && sudo make install && cd ../..
git clone https://github.com/BatchDrake/SuWidgets
cd SuWidgets && qmake6 SuWidgetsLib.pro && make && sudo make install && cd ..
git clone https://github.com/BatchDrake/SigDigger
cd SigDigger && qmake6 SigDigger.pro && make && sudo make install && cd ..
Wenn Sie sich nicht mit dem Kompilieren von Bibliotheken ins System beschäftigen möchten, gibt es zwei einfache Optionen. Unter Linux ist der einfachste Weg, ein fertiges AppImage von der Releases-Seite herunterzuladen.
Die zweite Option ist das Skript blsd des Autors, das die notwendigen Repositories holt und eine isolierte Assembly mit Plugins in einen separaten Ordner baut:
wget https://actinid.org/blsd
chmod a+x blsd
./blsd
Windows-Nutzer werden das Projekt kaum geeignet finden: Der Autor erklärt ausdrücklich, dass er keine Maschinen mit Windows betreibt und keine Binärdateien dafür erstellt, wegen Problemen mit der Portabilität von Abhängigkeiten.
Für wen SigDigger nützlich ist
Wenn Sie sich für Reverse Engineering von IoT-Geräten, Alarmanlagen, Smart Metern oder einfach für das Studium von Funkprotokollen in Ihrer Umgebung interessieren, spart SigDigger stundenlange Routinearbeit. Es erspart das ständige Springen zwischen Spektrum-Aufnahmesoftware, Utilities wie inspectrum und Skripten in Jupyter Notebook.
Das Tool hilft, den Modulationstyp zu bestimmen, die Symbolrate zu schätzen und einen sauberen Bitstrom für die weitere Analyse mit nur wenigen Klicks zu erfassen. Um schnell loszulegen, brauchen Sie nur einen günstigen RTL-SDR-Dongle und ein fertiges AppImage.
Ähnliche Projekte