reverseenengineering:soft_ghidra

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
reverseenengineering:soft_ghidra [2025/06/23 23:58] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1reverseenengineering:soft_ghidra [2025/07/18 12:37] (текущий) Lex
Строка 1: Строка 1:
 +====== 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 заняла лидирующую позицию среди решений для анализа исполняемого кода. Рекомендуется всем, кто занимается безопасностью, исследованиями или изучением внутренностей программ.
 +