Le 5 mars 2019, la National Security Agency américaine a profité de la conférence RSA pour rendre public Ghidra, le cadre de rétro-ingénierie logicielle mis au point par ses propres chercheurs. L’outil est conçu et maintenu par la direction de la recherche de l’agence, et son code source est publié sur GitHub sous licence Apache 2.0.
Dans un bilan publié quatre ans plus tard, la NSA comptait plus d’un million de téléchargements publics. La version 12.1.4, la plus récente à la date de notre consultation, a été publiée le 21 septembre 2026.
À quoi sert Ghidra
La rétro-ingénierie consiste à partir d’un programme déjà compilé, réduit à une suite d’instructions machine, pour comprendre ce qu’il fait sans disposer de son code source. Ghidra ouvre un exécutable ou une image de micrologiciel, reconnaît son format, repère les fonctions et les chaînes de caractères, puis affiche le code assembleur dans un listing annoté. À côté, son décompilateur reconstruit une version en pseudo-C, nettement plus facile à lire. Les deux vues restent synchronisées : renommer une variable ou corriger un type dans l’une se répercute aussitôt dans l’autre.
Sa force tient à son architecture. Chaque processeur y est décrit dans un langage de spécification baptisé Sleigh, qui traduit les instructions en une représentation intermédiaire commune, le P-code. Le décompilateur travaille sur cette représentation, si bien qu’il fonctionne pour toutes les architectures prises en charge, des puces x86 et ARM jusqu’aux processeurs plus confidentiels de l’embarqué. L’ensemble s’automatise par des scripts en Java ou en Python, grâce à PyGhidra, et un mode sans interface permet d’analyser des lots de fichiers sur un serveur. Ghidra Server permet à plusieurs analystes de partager un même projet, tandis qu’un débogueur relie l’outil aux débogueurs natifs du système.
Face à IDA Pro, la référence commerciale de Hex-Rays, et à Binary Ninja, édité par Vector 35, Ghidra se distingue d’abord par son prix nul, décompilateur compris, quel que soit le processeur visé. D’après la NSA, l’outil a servi à examiner des routeurs Wi-Fi, de l’électronique automobile ou des machines à voter, et l’État du New Hampshire s’en est servi pour l’expertise d’un scrutin local de 2020. Les équipes de sécurité l’emploient aussi pour disséquer des logiciels malveillants ou rechercher des vulnérabilités.
Pour qui ?
Ghidra s’adresse aux analystes de logiciels malveillants, aux chercheurs en vulnérabilités, aux équipes de réponse à incident et aux développeurs qui doivent comprendre un binaire dont ils n’ont pas les sources. Le monde de l’enseignement l’a largement adopté : selon l’agence, il figure dans de nombreux cursus universitaires et sert de support à des compétitions de type capture du drapeau.
Ce n’est pas un outil de débutant. Il suppose de savoir lire l’assembleur et de connaître le fonctionnement d’un processeur, et son interface en Java, très dense, demande un réel temps d’apprentissage. La documentation réclame au minimum 4 Go de mémoire vive et conseille deux écrans. Ghidra analyse des programmes, pas des disques ni des captures de mémoire : pour une image mémoire, Volatility est plus adapté, et pour une enquête sur un disque, Autopsy. L’instrumentation d’une application en cours d’exécution relève plutôt de Frida.
Télécharger Ghidra sans risque
La seule distribution officielle se trouve dans la section des versions du dépôt NationalSecurityAgency/ghidra sur GitHub. Chaque version y prend la forme d’une archive zip unique, valable pour Windows, macOS et Linux, qui pèse 543 Mo pour la 12.1.4 et s’accompagne de son empreinte SHA-256. Il n’y a pas d’installateur : on décompresse l’archive dans un dossier, on installe un kit de développement Java 21 en 64 bits, par exemple Adoptium Temurin ou Amazon Corretto, puis on lance le script ghidraRun. Sous macOS, la documentation prévoit de compiler certains composants natifs avec Xcode et prévient que Gatekeeper peut bloquer ceux qui ne sont pas signés.
Ghidra n’a aucune édition payante et ne demande ni compte ni clé de licence. Le danger viendrait plutôt d’une copie modifiée, car un outil destiné à ouvrir des fichiers hostiles ne doit pas lui-même provenir d’une source douteuse. Le README du projet signale en outre que certaines versions anciennes comportent des failles connues et renvoie vers les avis de sécurité. Mieux vaut donc suivre les mises à jour publiées sur GitHub.
Questions fréquentes
Ghidra est-il vraiment gratuit ?
Oui. Le logiciel est distribué sous licence Apache 2.0, sans version premium ni fonction réservée. Le décompilateur, le travail collaboratif avec Ghidra Server et les scripts sont inclus, et la licence autorise aussi un usage commercial.
Peut-on faire confiance à un outil publié par la NSA ?
Le code source complet est public sur GitHub, où chacun peut l’examiner et même le compiler soi-même au lieu d’utiliser l’archive fournie. Le projet accepte aussi des contributions extérieures. La précaution raisonnable consiste à le télécharger uniquement depuis le dépôt officiel et à contrôler l’empreinte publiée.
Quelle version de Java faut-il installer ?
La branche 12.1 demande un kit de développement Java 21 en 64 bits. La documentation préparée pour la version suivante passe à Java 25, il faut donc relire le guide de démarrage à chaque changement de version majeure. Les distributions gratuites Temurin et Corretto conviennent.