Ghidra

Ghidra (произносится ги́дра;[3] /ˈɡ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 году.

Краткая история изменений[11]
Версия Год Основные изменения
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]:

Примечания

  1. Releases · NationalSecurityAgency/ghidra (англ.). GitHub. Дата обращения: 11 октября 2024. Архивировано 8 июня 2024 года.
  2. ghidra/NOTICE. GitHub.com. Дата обращения: 13 апреля 2019. Архивировано 27 октября 2022 года.
  3. Frequently asked questions. GitHub.com. Дата обращения: 7 марта 2019. Архивировано 5 марта 2019 года.
  4. 1 2 Newman, Lily Hay. “The NSA Makes Ghidra, a Powerful Cybersecurity Tool, Open Source”. Wired. Архивировано из оригинала 6 March 2019. Дата обращения 6 March 2019. Используется устаревший параметр |url-status= (справка)
  5. например, как плагин Архивировано 14 октября 2022 года. для Radare2 или Rizin.
  6. Ghidra Scripting Class. GitHub. Дата обращения: 19 февраля 2023. Архивировано 20 февраля 2023 года.
  7. Three Heads are Better Than One: Mastering NSA's Ghidra Reverse Engineering Tool. GitHub. Дата обращения: 30 сентября 2019. Архивировано 1 марта 2020 года.
  8. Ghidraal. GitHub. Дата обращения: 19 февраля 2023. Архивировано 20 февраля 2023 года.
  9. Ghidra Advanced Development Class. GitHub. Дата обращения: 19 февраля 2023. Архивировано 20 февраля 2023 года.
  10. NSA to release a free reverse engineering tool (англ.). ZDNET. Дата обращения: 22 февраля 2024. Архивировано 22 февраля 2024 года.
  11. ghidra/Ghidra/Configurations/Public_Release/src/global/docs/ChangeHistory.html at master · NationalSecurityAgency/ghidra (англ.). GitHub. Дата обращения: 8 мая 2024. Архивировано 8 мая 2024 года.
  12. Coreboot Project Is Leveraging NSA Software To Help With Firmware Reverse Engineering. Дата обращения: 5 июня 2019. Архивировано 4 июня 2019 года.
  13. Compiled/built Ghidra 9.3 for Windows with Debugger feature by Galician R&D Center in Advanced Telecommunications employees. Дата обращения: 25 ноября 2022. Архивировано 25 ноября 2022 года.
  14. Analizando el depurador de Ghidra (11 марта 2021). Дата обращения: 14 декабря 2022. Архивировано 14 декабря 2022 года.
  15. What's new in Ghidra 10.0. Дата обращения: 24 июня 2021. Архивировано 19 июня 2023 года.
  16. List of Processors Supported by Ghidra. Github.com. Дата обращения: 29 сентября 2023. Архивировано 12 октября 2023 года.

Ссылки