
New releaseAug 17, 2026
hyperion-disassembler v0.1.6stable
ネイティブ マルチアーキテクチャ逆アセンブラ&逆コンパイラ - PE/ELF/Mach-O, x86/x64/ARM64, Luaスクリプティング, RTTI復元
Hyperion
ネイティブマルチアーキテクチャの逆アセンブラおよびバイナリ解析ツール。PE、ELF、Mach-O、.NET バイナリを x86、x64、ARM、ARM64、MIPS、PPC でサポート。C++20 と ImGui でスクラッチから構築。
単一の静的リンク実行ファイル。インストーラ不要、ランタイム依存関係なし。3MB 未満。
コミュニティ
サポートされているフォーマットとアーキテクチャ
| フォーマット | アーキテクチャ |
|---|---|
| PE (exe, dll, sys) | x86, x64 |
| ELF (so, o, 実行可能ファイル) | x86, x64, ARM, ARM64, MIPS, PPC |
| Mach-O (dylib, 実行可能ファイル, fat/ユニバーサル) | x64, ARM64 |
| .NET (マネージドアセンブリ) | CIL/IL バイトコード |
逆アセンブル: Zydis (x86/x64) + Capstone (ARM, ARM64, MIPS, PPC)
機能
解析
- 再帰下降 + リニアスイープ、アラインメント競合解決機能付き
- x64 関数境界用 .pdata 例外ディレクトリ
- RTTI C++ クラス復元(vtable 解析、メソッド命名、クラス階層)
- インポートサンク検出、スイッチ/ジャンプテーブル解決
- vtable 検出、グローバル変数検出
- FLIRT シグネチャマッチング(約 100 の MSVC CRT パターン)
- パッカー検出(UPX、Themida、VMProtect、ASPack、MPRESS)
- PDB シンボル読み込み(DbgHelp による自動検出)
- DWARF シンボル読み込み(ELF 用 .debug_info)
- C++ 名前マングリング解除(MSVC + GCC/Clang)
- noreturn/テールコール/呼び出し規約検出
- データフロー伝搬、間接呼び出し解決
- 手続き間型伝搬
逆コンパイラ
- Ghidra スタイル SSA パイプライン(p-code リフト → SSA → DCE → 伝搬 → 構造化 → 出力)
- x86/x64 および ARM64 逆コンパイラ
- マーク&スイープデッドコード除去
- RTTI 対応出力 (obj->Class::method())
- STL コンテナ認識(std::string、std::vector、std::shared_ptr)
- 演算子オーバーロード検出、for ループ再構築
- 戻り値伝搬、呼び出し元保存引数折り畳み
- 型付きパラメータによる Main/WinMain 検出
- シンボリックデータアドレス
UI
- 4 テーマ(Hyperion、IDA、Midnight、Custom)+ 背景画像サポート
- ナビゲーションバンド(色分けされたメモリ概要、クリックで移動)
- 色分けされたニーモニック、インライン文字列/インポート注釈、xref バッジ付き逆アセンブル
- パッチ適用、パターンハイライト、キーボードナビゲーション対応の16進エディタ
- 疑似コードパネル(F5、コピー可能)
- 制御フローグラフ(クリック可能なノード、Space でグラフ/逆アセンブル切替)
- 関数、文字列、インポート/エクスポートパネル(フィルターとコピー付き)
- 相互参照ポップアップ(X キー)およびタブ付きパネル
- エントロピーヒートマップ、コールグラフ、スタックフレームビュー
- 型システム(構造体、列挙型)、クラスビュー(RTTI ブラウザ)
- バイナリ差分、PE ヘッダービューア(パッカー結果付き)
- SigMaker(自動ワイルドカード、4 出力形式、一意性テスト)
- 検索(テキスト、ワイルドカード付きバイナリパターン、即値)
- Beautify モード(ノイズを隠し、関数コードとキーデータのみ表示)
- コンテキストメニュー:C 配列としてコピー、Python バイト列、YARA パターン
- ステータスバー、等幅コードフォント、複数のフォントサイズ
スクリプトとプラグイン
- 組み込み Lua 5.4 コンソール(View > Script Console)
- プラグインシステム:
plugins/フォルダに.luaファイルを配置 - プラグイン API:メニュー項目、ホットキー、解析コールバックの登録
- スクリプト API:get_name, set_name, get_insn, get_bytes, get_functions, get_xrefs_to, set_comment, goto_addr, patch_byte, get_segments, get_arch, create_function
- 詳細は docs/scripting.md と docs/plugins.md を参照
MCP サーバー (Model Context Protocol)
- AI 連携(Cursor、Claude Desktop など)のための内蔵ヘッドレス MCP サーバー
- AI プロンプトから逆アセンブル、逆コンパイル、xref、バイナリ構造に直接アクセス
- 実行ファイルに
--mcpを渡してサーバーを起動:./build/Release/Hyperion --mcp(またはプラットフォームに応じた同等のコマンド) - ステータス確認、関数検索、文字列参照、コメント/名前の変更、stdio 経由の逆コンパイルをサポート
カスタマイズ
- 設定パネル(Ctrl+,):フォント、色、キーバインド、詳細オプション
- 編集可能なキーバインド(割り当て時に押下、永続化)
- カスタムテーマのエクスポート/インポート(.hth ファイル)
- コミュニティテーマ配布用
themes/フォルダ - 背景画像サポート(png/jpg、不透明度スライダー)
- ウィンドウ不透明度、カーソル行の色、ボーダー半径、スクロールバー幅、フォントセレクター
エクスポート
- パッチ適用済みバイナリ、.asm リスト(MASM スタイル)
- IDAPython スクリプトのエクスポート
- プロジェクトの保存/読み込み(.hdb 形式)
- C 配列 / Python / YARA としてコピー
安定性
- 不正なバイナリに対応する堅牢な PE ローダー
- スレッドセーフな解析(UI へのアトミックな引き渡し)
- メモリ最適化(固定サイズ命令バッファ、セクション制限)
- すべての操作に対する完全な Undo/Redo
- 60 秒ごとの自動保存
- 最小化/フォーカス解除時のクラッシュなし
キーバインド
| キー | アクション |
|---|---|
| G | アドレスに移動 |
| N | 名前変更 |
| ; | コメント |
| X | 相互参照 |
| F5 | 関数を逆コンパイル |
| Space | 逆アセンブル/グラフの切り替え |
| D | データとして定義 |
| A | 文字列として定義 |
| U | 未定義 |
| C | コードとして強制 |
| H | 16進/10進の切り替え |
| 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) |
ステータス
活発に開発中。サポートされているすべてのフォーマットで静的解析が機能。逆コンパイラは x86/x64 および ARM64 で読み取り可能な C 出力を生成。RTTI クラス復元は難読化されていない C++ バイナリで動作。
ロードマップ:
- デバッガ統合(アタッチ、ブレークポイント、アンチ検出)
- 協調解析
- さらなる逆コンパイラ改善
ライセンス
MIT