
Нативный мульти-архитектурный дизассемблер и декомпилятор — PE/ELF/Mach-O, x86/x64/ARM64, скриптинг на Lua, восстановление RTTI
Нативный мультиархитектурный дизассемблер и инструмент анализа бинарных файлов. Поддерживает PE, ELF, Mach-O и .NET бинарные файлы на архитектурах x86, x64, ARM, ARM64, MIPS и PPC. Написан с нуля на C++20 с использованием ImGui.
Один статически слинкованный исполняемый файл. Без установщика, без зависимостей времени выполнения. Менее 3 МБ.
| Формат | Архитектуры |
|---|
| PE (exe, dll, sys) | x86, x64 |
| ELF (so, o, исполняемые файлы) | x86, x64, ARM, ARM64, MIPS, PPC |
| Mach-O (dylib, исполняемые файлы, fat/universal) | x64, ARM64 |
| .NET (управляемые сборки) | CIL/IL bytecode |
Дизассемблирование: Zydis (x86/x64) + Capstone (ARM, ARM64, MIPS, PPC)
Анализ
Декомпилятор
Пользовательский интерфейс
Скриптование и плагины
.lua файлы в папку plugins/MCP-сервер (Model Context Protocol)
--mcp исполняемому файлу:
./build/Release/Hyperion --mcp (или эквивалент на вашей платформе)Настройка
themes/ для распространения тем сообществомЭкспорт
Стабильность
| Клавиша | Действие |
|---|---|
| G | Перейти к адресу |
| N | Переименовать |
| ; | Комментарий |
| X | Перекрёстные ссылки |
| F5 | Декомпилировать функцию |
| Space | Переключить дизассемблер/граф |
| D | Определить как данные |
| A | Определить как строку |
| U | Отменить определение |
| C | Принудительно как код |
| H | Переключить шестнадцатеричный/десятичный |
| P | Создать функцию |
| Enter | Перейти по ветке/вызову |
| Escape | Назад |
| Shift+F12 | Представление строк |
| Ctrl+O | Открыть |
| Ctrl+S | Сохранить |
| Ctrl+, | Настройки |
| Ctrl+F | Поиск |
| Alt+B | Бинарный поиск |
| Ctrl+Z/Y | Отменить/Повторить |
| Ctrl+Shift+S | Создать сигнатуру |
Все горячие клавиши настраиваются через Настройки.
Требуется CMake 3.25+, vcpkg, компилятор C++20 (MSVC 2022+, GCC 13+ или Clang 16+).
git clone https://github.com/Sidenai/hyperion-disassembler
cd hyperion-disassembler
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build --config Release
Для статической линковки (один exe, без DLL):
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
cmake --build build --config Release
Зависимости (загружаются через vcpkg): imgui (docking), glfw, zydis, capstone, spdlog, fmt, zlib, lua, stb.
| Платформа | Статус |
|---|---|
| Windows x64 | Полная поддержка (UI + MCP) |
| Linux x64 | Полная поддержка (UI + MCP) |
| macOS (Intel + Apple Silicon) | Полная поддержка (UI + MCP) |
Активная разработка. Функционален для статического анализа всех поддерживаемых форматов. Декомпилятор создаёт читаемый C-вывод для x86/x64 и ARM64. Восстановление RTTI-классов работает на необфусцированных бинарных файлах C++.
Планы развития:
MIT