Плагин-система для декомпилятора Ghidra, написанная на C++ с Rust FFI. Позволяет разрабатывать нативные плагины расширяющие: кастомные анализаторы вызовов, обработчики типов данных, интеграцию с внешними базами знаний (сигнатуры, символы). Обходит ограничения Java-API Ghidra для высокопроизводительных операций. Подходит для автоматизации анализа малвари и исследований.
# pip (рекомендуется — включает скомпилированные бинарники Ghidra) pip install reoxide # После установки — связать с Ghidra (Python 3.10+) # 1. Запустить в корне Ghidra: # python -m reoxide.link /path/to/ghidra # 2. Открыть Ghidra → File → Install Extensions → reoxide # 3. Перезапустить Ghidra # Из исходников (требует Rust, Meson) git clone https://codeberg.org/ReOxide/reoxide cd reoxide pip install meson ninja meson setup build cd build && ninja
ReOxide добавляет систему плагинов в декомпилятор Ghidra, с более широкой целью — в конечном итоге улучшить процесс реверс-инжиниринга программ на Rust в инструментах с открытым исходным кодом. Хотя любой может расширять клиентскую часть Ghidra через его API на Java и Python, декомпилятор работает как отдельная программа на C++. Вы не можете изменить правила декомпилятора через Java API, но можете сделать это с помощью ReOxide. Вы можете определить собственные действия или правила декомпиляции и лучше понять внутреннее устройство декомпилятора.
Вся необходимая информация доступна на нашей странице документации:
reoxide через pip и связывания его с установкой Ghidra.Пакет pip ReOxide включает скомпилированные бинарные файлы декомпилятора Ghidra и набор заголовочных файлов, необходимых для разработки плагинов. Ghidra использует лицензию Apache 2.0, см. соответствующий файл NOTICE. Его также можно найти внутри распространяемых колес Python. ReOxide требует лишь минимальных изменений кодовой базы Ghidra, и вы можете просмотреть эти изменения в нашем файле патча.