Ghidra
Créateur | NSA |
---|---|
Développé par | National Security Agency |
Première version | ,il y a5 ans, 226 jours |
Dernière version | 11 () |
Dépôt | https://github.com/NationalSecurityAgency/ghidra |
Écrit en | Java,C++ |
Système d'exploitation | Multiplateforme |
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 libred'ingénierie inversedéveloppé par laNSA. Son interface graphique intègre undésassembleuret undécompilateurafin 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 depluginsqui peuvent être développés enJavaou 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ébogueurdans 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 enJavaet repose sur la bibliothèqueSwingpour soninterface graphique,sondécompilateurest quant à lui écrit enC++.
Historique
[modifier|modifier le code]L'existence de Ghidra a été initialement rendue publique viaWikiLeaksen 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 RSAen mars 2019; les sources ont été publiées un mois plus tard surGitHub[8].
Architectures prises en charge
[modifier|modifier le code]Les architectures ou formats binaires suivants sont pris en charge[9]:
- 6502
- 68xxxet6805
- 8051et8085
- ARM et AARCH64
- Atmel AVR
- CP1600
- CR16C
- Infineon TriCore
- Intel MCS-96
- JavaetDEX bytecode
- M8C
- MicroMIPS
- MIPS 16/32/64
- Motorola HCS08, HCS12
- MSP430
- PA-RISC
- PIC 12/16/17/18/24
- PowerPC 32/64et VLE
- RISC-V
- SPARC 32/64
- SuperH
- V850
- x86 16,32et64 bit
- Z80
L'ajout d'une nouvelle architecture se fait par la description de sesinstructionsdans un langage dénommé SLEIGH[3].
Voir également
[modifier|modifier le code]Références
[modifier|modifier le code]- (en)«ghidra/NOTICE», surGitHub.com,(consulté le)
- (en)«Frequently asked questions», surGitHub.com,(consulté le)
- (en)AlexeiBulazelet JeremyBlackthorne,«Three Heads are Better Than One: Mastering NSA’s Ghidra Reverse Engineering Tool»,(consulté le)
- (en)CatalinCimpanu,«NSA releases Ghidra, a free software reverse engineering toolkit»,ZDNet,(consulté le)
- (en)«can ghidra do dynamic analysis thing?»,(consulté le)
- (en)«What's new in Ghidra 10.0»,(consulté le)
- (en)«Ghidra»,WikiLeaks(consulté le)
- (en)«The NSA Makes Ghidra, a Powerful Cybersecurity Tool, Open Source»,Wired.com,(consulté le)
- (en)«"ghidra/Ghidra/Processors at Ghidra_9.2_build"»,(consulté le)