Ghidra
Ghidra (произносится ги́дра;[3] /ˈɡiːdrə/) — свободный инструмент для реверс-инжиниринга, разработанный Агентством национальной безопасности США (NSA). Исполняемые файлы были выпущены на RSA Conference в марте 2019 года; исходные коды опубликованы месяцем позже на GitHub[4]. Компонент декомпилятора реализован на C++, благодаря чему может использоваться отдельно[5].
Скрипты для автоматизированного анализа в Ghidra могут быть написаны на Java или Python (через Jython),[6][7] однако эта возможность расширяема, и поддержка других языков программирования реализуется через плагины сообщества[8]. Плагины, добавляющие новые функции в саму Ghidra, могут разрабатываться с использованием расширяемой Java-платформы.[9]
Общие сведения
| Ghidra | |
|---|---|
| Тип | Компьютерная программа |
| Автор | NSA |
| Написана на | Java, C++ |
| Первый выпуск | 5 марта 2019 |
| Последняя версия | 11.3.2[1] (15 апреля 2025) |
| Репозиторий | github.com/NationalSecur… |
| Лицензия | Apache License 2.0 / общественное достояние[2] |
| Сайт | ghidra-sre.org |
История
О существовании Ghidra впервые стало известно благодаря публикациям Vault 7 в марте 2017 года[10], однако само программное обеспечение оставалось недоступным до рассекречивания и официального релиза два года спустя[4]. Некоторые комментарии в исходном коде указывают, что проект существовал уже в 1999 году.
| Версия | Год | Основные изменения |
|---|---|---|
| 1.0 | 2003 | Proof of concept |
| 2.0 | 2004 | База данных, докируемые окна |
| 3.0 | 2006 | SLEIGH, декомпилятор, система контроля версий |
| 4.0 | 2007 | Скриптинг, отслеживание версий |
| 5.0 | 2010 | Файловый браузер |
| 6.0 | 2014 | Первая рассекреченная версия |
| 9.0 | 2019 | Первый публичный релиз |
| 9.2 | 2020 | Визуализация графов, новый парсер PDB |
| 10.0 | 2021 | Отладчик |
| 11.0 | 2023 | Поддержка бинарных файлов Rust и Go, BSim |
| 11.1 | 2024 | Поддержка Swift и DWARF 5, улучшения Mach-O |
В июне 2019 года проект coreboot начал использовать Ghidra для задач реверс-инжиниринга прошивок после выхода открытой версии программного комплекса Ghidra[12].
Официально,[13][14] начиная с версии Ghidra 10.0, программа может использоваться как отладчик. Отладчик Ghidra поддерживает отладку пользовательских программ Windows через WinDbg, а также программ Linux через GDB[15].
Поддерживаемые архитектуры
Поддерживаются следующие архитектуры и форматы бинарных файлов[16]:
- x86 16, 32 и 64 бит
- ARM и AARCH64
- PowerPC 32/64 и VLE
- MIPS 16/32/64
- MicroMIPS
- 68xxx
- Java и DEX bytecode
- PA-RISC
- RISC-V
- eBPF
- BPF
- Tricore
- PIC 12/16/17/18/24
- SPARC 32/64
- CR16C
- Z80
- 6502
- MC6805/6809, HC05/HC08/HC12
- 8048, 8051, 8085
- CP1600
- MSP430
- AVR8, AVR32
- SuperH
- V850
- LoongArch
- Xtensa
Примечания
- ↑ Releases · NationalSecurityAgency/ghidra (англ.). GitHub. Дата обращения: 11 октября 2024. Архивировано 8 июня 2024 года.
- ↑ ghidra/NOTICE. GitHub.com. Дата обращения: 13 апреля 2019. Архивировано 27 октября 2022 года.
- ↑ Frequently asked questions. GitHub.com. Дата обращения: 7 марта 2019. Архивировано 5 марта 2019 года.
- ↑ 1 2 Newman, Lily Hay. “The NSA Makes Ghidra, a Powerful Cybersecurity Tool, Open Source”. Wired. Архивировано из оригинала 6 March 2019. Дата обращения 6 March 2019. Используется устаревший параметр
|url-status=(справка) - ↑ например, как плагин Архивировано 14 октября 2022 года. для Radare2 или Rizin.
- ↑ Ghidra Scripting Class. GitHub. Дата обращения: 19 февраля 2023. Архивировано 20 февраля 2023 года.
- ↑ Three Heads are Better Than One: Mastering NSA's Ghidra Reverse Engineering Tool. GitHub. Дата обращения: 30 сентября 2019. Архивировано 1 марта 2020 года.
- ↑ Ghidraal. GitHub. Дата обращения: 19 февраля 2023. Архивировано 20 февраля 2023 года.
- ↑ Ghidra Advanced Development Class. GitHub. Дата обращения: 19 февраля 2023. Архивировано 20 февраля 2023 года.
- ↑ NSA to release a free reverse engineering tool (англ.). ZDNET. Дата обращения: 22 февраля 2024. Архивировано 22 февраля 2024 года.
- ↑ ghidra/Ghidra/Configurations/Public_Release/src/global/docs/ChangeHistory.html at master · NationalSecurityAgency/ghidra (англ.). GitHub. Дата обращения: 8 мая 2024. Архивировано 8 мая 2024 года.
- ↑ Coreboot Project Is Leveraging NSA Software To Help With Firmware Reverse Engineering. Дата обращения: 5 июня 2019. Архивировано 4 июня 2019 года.
- ↑ Compiled/built Ghidra 9.3 for Windows with Debugger feature by Galician R&D Center in Advanced Telecommunications employees. Дата обращения: 25 ноября 2022. Архивировано 25 ноября 2022 года.
- ↑ Analizando el depurador de Ghidra (11 марта 2021). Дата обращения: 14 декабря 2022. Архивировано 14 декабря 2022 года.
- ↑ What's new in Ghidra 10.0. Дата обращения: 24 июня 2021. Архивировано 19 июня 2023 года.
- ↑ List of Processors Supported by Ghidra. Github.com. Дата обращения: 29 сентября 2023. Архивировано 12 октября 2023 года.