>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
C-plus-plus

SigDigger transforme un récepteur SDR en laboratoire de reverse engineering de signaux radio

Si vous avez déjà lancé un RTL-SDR ou un HackRF, vous vous êtes probablement retrouvé scotché au waterfall du spectre dans Gqrx ou SDR#. De magnifiques traces colorées descendent en cascade sur l'écran, avec quelque chose qui clignote, clique et transmet constamment des paquets dans l'air. Mais dès que vous rencontrez un signal numérique inconnu, les programmes SDR standard atteignent une impasse. Ils gèrent parfaitement la radio FM ou les talkies-walkies, mais pour décoder une transmission binaire d'un capteur sans fil ou d'une télécommande de portail, vous devez généralement construire des configurations complexes dans GNU Radio ou exporter douloureusement des échantillons IQ bruts vers des utilitaires tiers.

C'est exactement le vide que SigDigger comble.

Ce que c'est

SigDigger est un analyseur interactif de signaux radio numériques avec une interface graphique Qt. Le programme récupère le flux d'un appareil SDR via la couche universelle SoapySDR et fournit des outils pour décortiquer les signaux inconnus à la volée.

L'auteur du projet, un radioamateur avec l'indicatif EA1IYR, a développé un logiciel optimisé pour la reconnaissance radio rapide. L'application fonctionne sur GNU/Linux et macOS, combinant un analyseur de spectre visuel avec des modules de démodulation et de décodage.

À quoi SigDigger est utile en pratique

Contrairement aux récepteurs SDR conventionnels, l'accent est mis ici sur l'analyse de la structure des données. Voici les choses qui sautent aux yeux :

  • Démodulation interactive en temps réel. Vous sélectionnez une région du spectre avec la souris et configurez le démodulateur pour le type de modulation souhaité : FSK, PSK ou ASK. Le programme affiche immédiatement le flux binaire, les constellations de phase et les paramètres de la porteuse.
  • Analyse des signaux par paquets et impulsions. Pour les signaux radio qui n'apparaissent que pendant des fractions de seconde, il existe un mode de capture par salves. Vous pouvez examiner en détail les fronts d'impulsion et les timings de transmission.
  • Décodage vidéo analogique. Si une vieille caméra de surveillance ou un émetteur vidéo analogique sur 5,8 GHz fonctionne à proximité, SigDigger peut afficher les images en temps réel.
  • Écoute audio analogique. Les fonctions de base d'un récepteur classique sont toujours présentes : les canaux AM, FM et SSB fonctionnent comme prévu.
  • Support des plugins. Les décodeurs spécifiques se connectent via des plugins, comme la réception des images satellites météo NOAA APT ou l'export de données via ZeroMQ pour un traitement ultérieur en Python.

Pourquoi l'interface ressemble tellement à Gqrx

La première impression en regardant les captures d'écran déclenche un déjà vu : la disposition des fenêtres et le waterfall ressemblent exactement à Gqrx. L'auteur l'explique honnêtement dans la documentation : l'interface de Gqrx s'est avérée être la plus pratique et la plus fonctionnelle parmi celles existantes.

Plutôt que de réinventer la roue et de se battre contre l'avidité des widgets graphiques, le développeur a repris le composant waterfall éprouvé de Gqrx et l'a adapté à ses besoins, en ajoutant un backend OpenGL et des palettes de couleurs personnalisées.

Cependant, SigDigger est construit de manière complètement différente en coulisses. Gqrx s'appuie sur le framework lourd GNU Radio. SigDigger utilise son propre moteur de traitement du signal numérique appelé Suscan et la bibliothèque de bas niveau Sigutils. Le modèle de streaming et le traitement des files d'attente y sont optimisés pour l'analyse parallèle des signaux avec une latence minimale.

Comment exécuter le projet

L'architecture complexe a un revers : pour tout compiler depuis les sources, vous devrez parcourir une chaîne de dépendances. SigDigger s'appuie sur trois projets apparentés de l'auteur : sigutils, suscan et la bibliothèque de composants d'interface SuWidgets.

La compilation manuelle semble intimidante :

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 ..

Si vous ne voulez pas vous embêter à compiler des bibliothèques dans le système, il y a deux options simples. Sur Linux, le moyen le plus simple est de télécharger une AppImage prête à l'emploi depuis la page des releases.

La deuxième option est d'utiliser le script de l'auteur blsd, qui récupère les dépôts nécessaires et construit un assemblage isolé avec les plugins dans un dossier séparé :

wget https://actinid.org/blsd
chmod a+x blsd
./blsd

Les utilisateurs Windows ne trouveront probablement pas le projet adapté : l'auteur indique explicitement qu'il ne maintient pas de machines sous Windows et ne construit pas de binaires pour cette plateforme en raison de problèmes de portabilité des dépendances.

À qui SigDigger sera utile

Si vous vous intéressez au reverse engineering d'appareils IoT, d'alarmes de voiture, de compteurs intelligents, ou simplement à l'étude des protocoles radio autour de vous, SigDigger vous fait gagner des heures de travail routinier. Il élimine la nécessité de sauter constamment entre les logiciels d'enregistrement du spectre, les utilitaires comme inspectrum et les scripts dans Jupyter Notebook.

L'outil aide à déterminer le type de modulation, estimer le débit symbolique et capturer un flux binaire propre pour une analyse plus approfondie en quelques clics. Pour démarrer rapidement, il suffit d'un dongle RTL-SDR peu coûteux et d'une AppImage prête à l'emploi.

Projets similaires