Analyser et extraire le firmware
Ouvrez le firmware. Trouvez la structure. Extrayez les preuves. Binwalk identifie et extrait les fichiers, systèmes de fichiers, flux compressés, exécutables, chargeurs de démarrage, noyaux et autres données intégrés dans le firmware et les images binaires — conçu pour la recherche en sécurité firmware, la rétro-ingénierie et la forensique numérique.
Gratuit et open source · Binwalk 3.1.0 · Linux, macOS et Windows (WSL/Docker) · options d’installation
Qu’est-ce que Binwalk ?
Une image de firmware contient rarement un seul fichier. Elle peut renfermer des couches de données compressées, des en-têtes propriétaires, des composants du système d’exploitation, du code de démarrage, des certificats, des exécutables, des fichiers de configuration et des systèmes de fichiers complets — et localiser chacun d’eux à la main est lent et source d’erreurs.
Binwalk automatise la première étape de l’analyse : il parcourt les données binaires à la recherche de structures connues, valide les objets qu’il détecte et indique où commence chaque composant reconnu. Créé à l’origine par Craig Heffner chez ReFirm Labs, Binwalk v3 a reconstruit le moteur en Rust pour la vitesse, la validation structurelle et un taux de faux positifs plus faible. Il est open source sous licence MIT et fonctionne comme outil en ligne de commande ou comme bibliothèque Rust.
Comment fonctionne Binwalk
Six commandes couvrent l’essentiel de l’analyse de firmware — analyser, extraire, parcourir récursivement, mesurer l’entropie, journaliser et consulter.
Analyser et identifier
$ binwalk firmware.binCartographiez la structure interne d’une image : Binwalk signale les objets reconnus par décalage décimal et hexadécimal, avec leur taille, les détails de format, les paramètres de compression, l’architecture, les métadonnées de système de fichiers et un niveau de confiance pour chaque détection.
Extraire le contenu intégré
$ binwalk -e firmware.binExtrayez les fichiers, archives, flux compressés et systèmes de fichiers reconnus à l’aide des extracteurs intégrés ou des utilitaires externes pris en charge — sans calcul manuel de décalage ni découpage de fichiers (file carving).
Décompresser le firmware imbriqué
$ binwalk -Me firmware.binAnalysez de façon récursive les fichiers nouvellement extraits pour découvrir des archives à l’intérieur de systèmes de fichiers, des données compressées dans des partitions et les couches plus profondes des paquets de mise à jour et des firmwares en couches.
Localiser les zones inconnues
$ binwalk --entropy firmware.binGénérez un graphique d’entropie pour repérer les transitions entre données structurées et zones à forte entropie — la compression, le chiffrement ou le remplissage que les signatures seules n’expliquent pas.
Enregistrer des résultats structurés
$ binwalk --log=results.json firmware.binExportez les résultats de signatures et d’entropie au format JSON pour l’automatisation, le reporting, l’indexation, la comparaison ou le transfert vers d’autres outils d’analyse.
Consulter les signatures prises en charge
$ binwalk --listAffichez les signatures disponibles dans la version installée, leurs noms internes et l’utilitaire d’extraction associé à chaque format.
Pourquoi Binwalk
Des analyseurs Rust personnalisés, des résultats associés à un niveau de confiance et une sortie prête pour l’automatisation — pour qu’une analyse soit un point de départ fiable, et non un tas de suppositions.
Validation au-delà des magic bytes
Binwalk v3 utilise des analyseurs Rust personnalisés pour confirmer une structure, calculer la taille d’un objet intégré et déterminer où l’analyse se poursuit — bien moins de faux positifs qu’une simple correspondance de signatures d’octets.
Un niveau de confiance pour chaque résultat
Chaque détection est notée élevée (métadonnées et données validées), moyenne (vérifications de métadonnées cohérentes réussies) ou faible (octets d’identification uniquement) — pour distinguer facilement les détections fiables de celles à examiner manuellement.
Analyse d’entropie
Visualisez le caractère aléatoire des données pour repérer où commence et se termine une partition compressée, savoir si une image contient plusieurs zones et quelles sections inexpliquées peuvent être chiffrées, remplies ou inconnues.
Analyses ciblées
Les grandes images contiennent des milliers d’objets. Excluez les médias bruyants, limitez-vous à certaines signatures ou parcourez chaque décalage pour un balayage exhaustif — afin que les résultats restent lisibles lors de travaux urgents.
Conçu pour l’automatisation
La sortie JSON alimente les scripts, les pipelines CI et les plateformes forensiques. La bibliothèque Rust de Binwalk s’intègre directement dans les applications lorsque l’exécution en ligne de commande et l’analyse du JSON ne suffisent pas.
Analyse entièrement locale
Tout s’exécute dans votre propre environnement — les images produit sensibles, les builds non publiés et les preuves forensiques n’ont jamais besoin d’être téléversés. Pour les échantillons non fiables, travaillez dans une machine virtuelle ou un conteneur.
Formats pris en charge
Plus de 100 signatures de fichiers et de données couvrant les formats de firmware, de système d’exploitation, d’archive, de système de fichiers, d’exécutable et de sécurité.
Firmware & formats de démarrage
Systèmes de fichiers & structures de disque
Compression & archives
Exécutables & système
Sécurité & cryptographie
Les formats disponibles et les capacités d’extraction varient selon la version de Binwalk et les utilitaires externes installés sur le système.
Qui utilise Binwalk
De la recherche en sécurité au développement embarqué — partout où le firmware et les données binaires doivent être ouverts.
Recherche en sécurité firmware & IoT
Cartographiez les paquets de mise à jour, récupérez les systèmes de fichiers intégrés, inspectez les scripts de démarrage, localisez les fichiers de configuration et préparez le firmware pour l’analyse de vulnérabilités.
Équipes sécurité produit & PSIRT
Triez le firmware des routeurs, caméras, dispositifs industriels, appareils, systèmes automobiles et produits connectés avant une analyse statique plus poussée ou une émulation.
Rétro-ingénierie
Décomposez les conteneurs propriétaires en éléments plus petits, identifiez les limites internes, localisez le code exécutable et réduisez la quantité de données inconnues à inspecter manuellement.
Forensique numérique & réponse à incident
Extrayez les artefacts des images de périphériques, identifiez les charges utiles intégrées et exportez des résultats structurés pour des workflows forensiques reproductibles.
Développement embarqué
Inspectez les images de version, vérifiez les composants attendus, comparez les agencements de firmware et intégrez l’analyse binaire à vos outils de développement ou d’assurance qualité.
Hardware hacking & formation
Passez rapidement d’une image flash capturée ou d’un fichier de mise à jour fournisseur à un système de fichiers racine extrait, un noyau, un chargeur de démarrage et une configuration propre à l’appareil.
Installer Binwalk
Linux 64 bits (Cargo)
Linux est la plateforme officiellement prise en charge pour Binwalk v3, les distributions basées sur Ubuntu offrant l’installation la plus prévisible. Certains systèmes de fichiers et formats d’archive nécessitent des utilitaires externes supplémentaires.
$ cargo install binwalkmacOS & Linux (Homebrew)
Homebrew fournit une installation prépackagée pour les environnements macOS et Linux pris en charge.
$ brew install binwalkDocker
Docker offre un environnement reproductible aux dépendances maîtrisées, bien adapté à une analyse de firmware isolée.
$ sudo docker run -t -v "$PWD":/analysis binwalkv3 -Me firmware.binWindows (WSL ou Docker)
Pour le workflow Windows le plus prévisible, exécutez Binwalk dans WSL ou Docker. Les builds Windows natifs peuvent compiler, mais les tests et le support en amont restent limités.
$ wsl -- cargo install binwalkObtenir le code source de Binwalk
Téléchargez l’archive source de Binwalk 3.1.0 pour compiler à partir des sources, inspecter l’implémentation, contribuer des signatures et des analyseurs, ou intégrer la bibliothèque Rust à votre propre projet. L’analyse reste locale — considérez le code extrait comme non fiable et gardez les échantillons inconnus isolés.
Archive source (.zip) · Binwalk 3.1.0 · Licence MIT
Questions fréquentes
Partez du binaire. Accédez plus vite aux preuves.
Cartographiez l’image de firmware, extrayez ses composants internes et identifiez les zones inexpliquées — open source, sous licence MIT, et analysé entièrement sur votre propre machine.