Créateur | NSA |
---|---|
Développé par | National Security Agency![]() |
Première version | , il y a6 ans, 9 jours |
Dernière version | 11 () |
Dépôt | https://github.com/NationalSecurityAgency/ghidra |
Écrit en | Java,C++ |
Système d'exploitation | Multiplateforme(en)![]() |
Type | Désassembleur Décompilateur Débogueur ![]() |
Licence | Licence Apache version 2.0 /Domaine public[1] |
Site web | https://ghidra-sre.org/ |
Ghidra (/ˈɡiːdrə/[2]) est unlogiciel libre d'ingénierie inverse développé par laNSA.Son interface graphique intègre undésassembleur et undécompilateur afin de réaliser l'analyse defichiers binaires.L'automatisation de certaines tâches ou l'ajout de fonctionnalités sont possibles grâce à un système deplugins qui peuvent être développés enJava ou enPython (viaJython)[3].
Ghidra est considéré par de nombreux chercheurs en sécurité comme un concurrent d'IDA Pro[4].
Contrairement à ce dernier, Ghidra ne possédait pas dedébogueur dans sa version publique à sa sortie en 2019[5]. En effet cela restait un frein à son adoption. Des tentatives de plugins ont été faites pour combler ce vide.
Cette fonctionnalité a cependant été implementée après 2 ans de développement en juin 2021 avec la sortie de la version 10, au grand bonheur de la communauté qui a majoritairement adoptée cette boîte à outils[6].
Aujourd'hui, il est considéré comme le concurrent sérieux de IDA Pro, qui à la suite de sa disposition publique par la NSA, a sorti une version Home pour un usage personnel et met désormais à disposition une version gratuite et limitée à jour avec un décompilateur en ligne. Notons que par le passé, cette offre gratuite était une version dépassée et beaucoup plus limitée dans ses fonctionnalités.
Il est majoritairement écrit enJava et repose sur la bibliothèqueSwing pour soninterface graphique, sondécompilateur est quant à lui écrit enC++.
L'existence de Ghidra a été initialement rendue publique viaWikiLeaks en mars 2017[7] mais le logiciel lui-même est resté indisponible jusqu'à sa déclassification et sa sortie officielle deux ans plus tard[8].Les fichiers binaires ont d'abord été publiés lors de laconférence RSA en mars 2019 ; les sources ont été publiées un mois plus tard surGitHub[8].
Les architectures ou formats binaires suivants sont pris en charge[9] :
L'ajout d'une nouvelle architecture se fait par la description de sesinstructions dans un langage dénommé SLEIGH[3].