mardi 20 octobre 2026

ETM1810: Couplage Ghidra/Claude à des fins de test

Réflexion personnelle d'il y a encore quelques jours: Oh jamais je n'utiliserai d'outils de raisonnement (cf. IA) car je suis encore capable d'étudier un code par moi-même. 

Certes. Mais à quel coût et pour quel investissement en temps, s'agissant d'une passion purement personnelle et qui ne me rapporte absolument rien. Cet investissement en temps impactant de plus en plus mes autres projets, je me suis finalement décidé à installer Claude Code pour le coupler à Ghidra mon outil de reverse via le GhidraMCP de LaurieWired (le plus simple). Puis, face aux résultats, à acquérir une licence Pro. Quelle honte mais quel gain de temps...

L'environnement de test est celui du firmware du modem ETM1810/M/A pour lequel je n'ai aucune documentation et dont je souhaite sauvegarder tout le code y compris celui stocké en Flash. J'ai donc simplement soumis le désassemblage effectué sous Ghidra à l'interface Claude en lui demandant d'analyser celui-ci. Ceci, je le précise bien, à des fins de test et de compréhension de l'architecture logicielle d'un matériel désormais obsolète et non maintenu.

Le résultat est réellement impressionnant.

Exemple d'une conversation où Claude détermine une fréquence de 1800Hz et infère que celle-ci est celle d'une porteuse puis mentionne le standard Stanag 4285.

Ici, Claude se propose d'écrire un désassembleur pour le TMS320C3x. Celui-ci est généré en python en quelques minutes et ne nécessite qu'une demande modification pour correctement construire les chaînes RCS présentes dans le code.

Ici encore, Claude infère un mode de fonctionnement, avec une réponse en Français à la suite d'une question posée en Français...


Ce premier test confirme l'intérêt de ce couplage s'agissant de codes anciens et complexes, difficiles à analyser avec les moyens traditionnels. Le raisonnement et les hypothèses sont identiques à celles que je fais habituellement mais avec une capacité d'analyse infiniment plus rapide et un retour arrière pour réajustement très performant.

Un guidage est nécessaire dans certains cas rares. Ici, je n'ai fourni que très peu d'informations au départ mais avec une précision croissante au fur et à mesure de l'analyse avec notamment l'identification et le datasheet des composants utilisés: ADC/DAC, DSP, UART externe, existence de cinq boutons poussoir. Cette absence d'information initiale sur le contexte a probablement fortement complexifié le processus d'analyse mais permettait un test bien plus représentatif. 

Le système a ainsi été capable de déterminer l'usage de l'équipement sur la seule analyse des informations RCS présentes dans les sections de code des DSP inclues dans le firmware. Un raisonnement identique à celui d'un analyste.

La vérification des hypothèses est extraordinaire, facilitée par l'accès à de multiples outils et la capacité de générer du code à la volée. Impressionnant d'efficacité pour confirme le rôle des routines embarquées dans les DSP. L'outil a été capable de vérifier qu'une partie du code effectue un traitement conforme à une recommandation Stanag qu'il a pu télécharger et étudier.

Je poursuivrai les tests sur d'autres configurations d'analyse dont celle du code du RFT MG80 que je n'arrive pas à redémarrer...

A ce niveau d'avancement, la conclusion est claire: le gain de temps est absolument phénoménal..

Aucun commentaire: