Ghidra

Un article de Wikipédia, l'encyclopédie libre.
Ghidra
Description de l'image Ghidra Logo.png.
Capture d'écran de l'interface de Ghidra
Désassemblage d'un fichier dans Ghidra
Informations
Créateur NSA
Développé par National Security AgencyVoir et modifier les données sur Wikidata
Première version
Dernière version 10.2.2 ()
Dépôt https://github.com/NationalSecurityAgency/ghidra
Écrit en Java, C++
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Type Désassembleur
Décompilateur
DébogueurVoir et modifier les données sur Wikidata
Licence Licence Apache version 2.0 / Domaine public[1]
Site web https://ghidra-sre.org/

Ghidra (/ˈɡiːdrə/[2]) est un logiciel libre d'ingénierie inverse développé par la NSA. Son interface graphique intègre un désassembleur et un décompilateur afin de réaliser l'analyse de fichiers binaires. L'automatisation de certaines tâches ou l'ajout de fonctionnalités sont possibles grâce à un système de plugins qui peuvent être développés en Java ou en Python (via Jython)[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 de dé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 en Java et repose sur la bibliothèque Swing pour son interface graphique, son décompilateur est quant à lui écrit en C++.

Historique[modifier | modifier le code]

L'existence de Ghidra a été initialement rendue publique via WikiLeaks 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 la conférence RSA en mars 2019 ; les sources ont été publiées un mois plus tard sur GitHub[8].

Architectures prises en charge[modifier | modifier le code]

Les architectures ou formats binaires suivants sont pris en charge[9] :

L'ajout d'une nouvelle architecture se fait par la description de ses instructions dans un langage dénommé SLEIGH.[3]

Voir également[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) « ghidra/NOTICE », sur GitHub.com, (consulté le )
  2. (en) « Frequently asked questions », sur GitHub.com, (consulté le )
  3. a et b (en) Alexei Bulazel et Jeremy Blackthorne, « Three Heads are Better Than One: Mastering NSA’s Ghidra Reverse Engineering Tool », (consulté le )
  4. (en) Catalin Cimpanu, « NSA releases Ghidra, a free software reverse engineering toolkit », ZDNet, (consulté le )
  5. (en) « can ghidra do dynamic analysis thing ? », (consulté le )
  6. (en) « What's new in Ghidra 10.0 », (consulté le )
  7. (en) « Ghidra », WikiLeaks (consulté le )
  8. a et b (en) « The NSA Makes Ghidra, a Powerful Cybersecurity Tool, Open Source », Wired.com, (consulté le )
  9. (en) « "ghidra/Ghidra/Processors at Ghidra_9.2_build" », (consulté le )