Ghidra
Ghidra () 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).

Ghidra est considéré par de nombreux chercheurs en sécurité comme un concurrent d'IDA Pro.

Contrairement à ce dernier, Ghidra ne possédait pas de débogueur dans sa version publique à sa sortie en 2019. 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.

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 
L'existence de Ghidra a été initialement rendue publique via WikiLeaks en mars 2017 mais le logiciel lui-même est resté indisponible jusqu'à sa déclassification et sa sortie officielle deux ans plus tard.
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.

Architectures prises en charge 
Les architectures ou formats binaires suivants sont pris en charge :

 6502
 68xxx et 6805
 8051 et 8085
 ARM et AARCH64
 Atmel AVR
 CP1600
 CR16C
 Infineon TriCore
 Intel MCS-96
 Java et DEX bytecode
 M8C
 MicroMIPS
 MIPS 16/32/64
 Motorola HCS08, HCS12
 MSP430
 PA-RISC
 PIC 12/16/17/18/24
 PowerPC 32/64 et VLE
 RISC-V
 SPARC 32/64
 SuperH
 V850
 x86 16, 32 et 64 bit
 Z80

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

Voir également 

 IDA Pro
 Radare2

Références 

Désassembleur