Ghidra
Ghidra
| Créateur | NSA |
|---|---|
| Développé par | National Security Agency |
| Première version | , il y a 7 ans, 173 jours |
| Dernière version | 11 () |
| Dépôt | https://github.com/NationalSecurityAgency/ghidra |
| Écrit en | Java, C++ |
| Système d'exploitation | Multiplateforme (d) |
| 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 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]. Cette fonctionnalité a été implémentée après 2 ans de développement en avec la sortie de la version 10[6].
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 [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 ; les sources ont été publiées un mois plus tard sur GitHub[8].
Architectures prises en charge
Les architectures ou formats binaires suivants sont pris en charge[9] :
- 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[3].
Voir également
Références
- ↑ (en) « ghidra/NOTICE », sur GitHub.com, (consulté le )
- ↑ (en) « Frequently asked questions », sur GitHub.com, (consulté le )
- (en) Alexei Bulazel et Jeremy Blackthorne, « Three Heads are Better Than One: Mastering NSA’s Ghidra Reverse Engineering Tool », (consulté le )
- ↑ (en) Catalin Cimpanu, « 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 )
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.