Показать страницуИстория страницыСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Ghidra ====== **Ghidra** — это мощный набор инструментов для обратной разработки (reverse engineering), разработанный и поддерживаемый **Агентством национальной безопасности США (NSA)**. С момента своего открытия в 2019 году как проекта с открытым исходным кодом, Ghidra стала одним из самых популярных и уважаемых инструментов в области анализа исполняемого кода и программной безопасности. ===== Основные возможности ===== * Дизассемблирование (disassembly) и декомпиляция (decompilation) широкого спектра архитектур * Поддержка множества форматов файлов: PE (EXE, DLL), ELF, Mach-O, BIN и др. * Визуализация графов вызовов (call graphs), переходов (control flow), зависимостей и др. * Интерактивный анализ кода: переименование функций, переменных, аннотации * Встроенный декомпилятор с возможностью вывода в C-подобный код * Расширяемость через скрипты (Python, Java) и собственные плагины * Многофайловый анализ (Project-based), группировка бинарей * Поддержка отладки через интеграцию Ghidra Debugger (GDB, WinDbg, и др.) * Совместная работа над проектом (многопользовательский режим) ===== Поддерживаемые архитектуры ===== * x86 (32-bit и 64-bit) * ARM, AARCH64 * PowerPC * MIPS * SPARC * 68000, Z80, и др. * Возможность добавления собственных процессоров (через Sleigh DSL) ===== Системные требования ===== * **Платформы:** Windows, Linux, macOS (официальная кроссплатформенность) * **Java Runtime:** требуется Java 17+ * **Аппаратные требования:** от 4 ГБ ОЗУ, SSD рекомендуется, желательно 64-битная ОС ===== Установка и запуск ===== 1. Загрузить с официального сайта: https://ghidra-sre.org/ 2. Распаковать архив (установка не требуется) 3. Убедиться в наличии Java 17+ 4. Запустить `ghidraRun` (Linux/macOS) или `ghidraRun.bat` (Windows) 5. Создать новый проект и импортировать бинарный файл для анализа ===== Интерфейс и компоненты ===== * **CodeBrowser** — основной интерфейс анализа и декомпиляции * **Decompiler Window** — просмотр C-подобного кода * **Symbol Tree** — дерево символов, функций, данных * **Listing View** — дизассемблер с аннотациями * **Data Type Manager** — редактирование структур, массивов, примитивов * **Script Manager** — запуск и написание пользовательских скриптов * **Function Graph** — граф вызовов функции * **Debugger** — подключение к внешнему процессу или образу памяти ===== Расширяемость и скрипты ===== * Поддержка скриптов на: - Java (основной язык Ghidra) - Jython (Python 2.7) - Python 3 (через интеграцию с Ghidra 10+) - JavaScript, BeanShell и др. * Возможность автоматизации задач: автокомментарии, обработка секций, распознавание сигнатур и т. д. * Ghidra Extension Manager — установка плагинов * Ghidra API позволяет писать собственные плагины и GUI-инструменты ===== Применение ===== * Анализ вредоносного ПО (malware analysis) * Реверс-инжиниринг проприетарных форматов * Изучение уязвимостей и эксплойтов * Исследование бинарей закрытых программ * Создание сигнатур, автоматизация распознавания паттернов * Анализ прошивок и встраиваемых систем ===== Сравнение с аналогами ===== ^ Инструмент ^ Лицензия ^ Графический интерфейс ^ Декомпилятор ^ Скрипты ^ Цена ^ | **Ghidra** | Apache 2.0 | Да | Да | Да | Бесплатно | | IDA Free / Pro | Проприетарная| Да | Да (Pro) | Да | $$$ | | Radare2 / Cutter | GPL | Да (через Cutter) | Частично | Да | Бесплатно | | Binary Ninja | Проприетарная| Да | Да | Да | $$ | ===== Юридические аспекты ===== * Ghidra распространяется под **лицензией Apache 2.0**, с открытым исходным кодом. * Разработка осуществляется NSA и активно поддерживается сообществом. * Использование разрешено в коммерческих и исследовательских целях. * Исходный код доступен на GitHub: https://github.com/NationalSecurityAgency/ghidra ===== Полезные ссылки ===== * [Официальный сайт](https://ghidra-sre.org/) * [Документация](https://ghidra.re/) * [Форум и обсуждения](https://github.com/NationalSecurityAgency/ghidra/discussions) * [YouTube-видеоуроки](https://www.youtube.com/results?search_query=ghidra+reverse+engineering) ===== Заключение ===== **Ghidra** — это универсальный, мощный и бесплатный инструмент для реверс-инжиниринга, подходящий как для новичков, так и для профессионалов. С поддержкой множества архитектур, гибкой системой скриптов и открытым исходным кодом, Ghidra заняла лидирующую позицию среди решений для анализа исполняемого кода. Рекомендуется всем, кто занимается безопасностью, исследованиями или изучением внутренностей программ. reverseenengineering/soft_ghidra.txt Последнее изменение: 2025/07/18 12:37 — Lex Войти