🚀 Comment débuter en reverse engineering hardware, le cheatsheet !
🔧 Vous êtes débutant en reverse hardware ? Voici comment débuter l’analyse d’un appareil électronique, extraire et comprendre son firmware.
Prêt à démonter ? Allons-y !
🔍 Étapes pas à pas :
🖥️ Choisissez un appareil simple à démonter pour commencer:
Ces appareils contiennent souvent des composants faciles à identifier (ex : routeur bas de gamme, vieille console de jeu, jouet électronique, ou un vieux Nokia 3310).
🔧 Démontez l’appareil avec précaution :
Pensez à documenter chaque étape pour pouvoir remonter l’appareil ensuite!
Recherchez les composants clés et notez les.
📚 Identifiez et recherchez les composants :
Trouvez les numéros de modèle sur les puces et composants et recherchez leurs doc en ligne (ex : “ATmega328 datasheet PDF”) pour avoir les informations essentielles sur leurs fonctionnement.
🛠️ Accédez au firmware :
1/ Utiliser une interface de programmation
🔍Recherchez des ports de débug sur la carte, tels que UART, JTAG, ou SPI, parfois même l’USB.
Sondez les broches avec des câbles Dupont et utilisez un convertisseur pour s’y connecter (USB to TTL-UART etc), un Rpi pico fait le taf!
Utilisez un logiciel comme Minicom pour l’exploiter.
2/ Utiliser un lecteur de puces
• Si les puces sont amovibles, dé-soudez-les (utilisez une pompe à dessouder).
• Utilisez un lecteur de puces (ex : CH341A, TL866II) et utilisez le logiciel du lecteur pour extraire le firmware.
📊 Analysez le firmware extrait :
• Utilisez un outil de reverse engineering comme Ghidra, IDA, Frida (😍)
• Chargez le firmware et commencez par repérer les chaînes de caractères (strings) lisibles, les fonctions d’intérêt (comme celles manipulant les données sensibles), et les points d’entrée (entry points) du code.
• Décompilez puis recherchez des anomalies.
🛠️ Vous pouvez aussi utiliser un analyseur logique (ex : Saleae) qui permet de capturer les communications sur les bus de données (SPI, I2C, UART) et capturer les signaux.
🔓 Cherchez les vulnérabilités :
• Cherchez des faiblesses : mots de passe en texte clair, fonctions de débogage actives, etc.
• Recherchez les interfaces de communication.
• Modifiez le firmware pour tester des exploits : injectez des charges utiles (payloads) ou désactivez certaines protections.
🧪 Reflashez et testez
• Réinjectez le firmware modifié
• Redémarrez l’appareil et observez le comportement
📝 Documentez votre démarche :
• Prenez des notes à chaque étape : composants identifiés, méthodes d’extraction du firmware, résultats de l’analyse, modifications testées, etc.
🎯 Vous avez maintenant une feuille de route pour commencer votre première exploration de reverse engineering hardware !





