0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AIにバイナリを解析させる。MCP連携リバースエンジニアリング搭載のC++製ネイティブエディタ「Zume Editor」無料ベータを公開

0
Posted at

はじめに

Zume Editor は、C++ でフルスクラッチ開発しているネイティブのテキスト/コード/バイナリ(HEX)エディタです。描画は Windows が Direct2D/DirectWrite、macOS が Core Text、Linux が GTK4/Pango と、各 OS のネイティブ API を直接使っています。

このたび Windows / macOS / Linux 対応の無料ベータ版を公開しました。2027年3月31日まで、すべての機能を無料でお使いいただけます。

そして今回いちばん推したいのが、生成AIと連携したリバースエンジニアリング機能です。Zume は MCP(Model Context Protocol)サーバーを内蔵しており、Claude などの生成AIエージェントから、PE/ELF/Mach-O の構造解析・逆アセンブル・相互参照/関数復元・Ghidra 連携の逆コンパイル・Objective-C/Swift インターフェース復元・YARA スキャンといった解析エンジンを「ツール」として呼び出せます。「このバイナリを解析して」と頼むと、AI が Zume のエンジンを使って読み解いてくれる――しかも対象を実行しない静的解析・ローカル完結。詳しくは後述します。

なぜ作ったのか

開発では用途ごとに別ツールを立ち上げがちです——巨大ログのビューア、HEX エディタ、Git クライアント、SFTP、DB クライアント、Diff ツール…。起動は重く、ファイルが大きいと固まる。これを1 つの軽量ネイティブアプリにまとめたい、というのが出発点です。

設計方針:

  • ネイティブ性能最優先(重いランタイムに依存せず、一瞬で起動)
  • 超巨大ファイル対応(10GB 級もメモリに丸ごと読み込まない)
  • 編集処理はすべてテスト可能なコマンド/サービスとして実装

主な機能

一般的な機能(シンタックスハイライト、折りたたみ、アウトライン、マルチキャレット、カラム編集、検索/置換、分割ビュー、セッション復元…)に加えて、次を 1 本に統合しています。

  • 巨大ファイル編集:メモリマップ+ピーステーブルで、数GB〜10GB級も開く・検索・編集・保存まで待たされません(計測済み)。
    main.png
  • HEX エディタ:オフセット/ASCII/EBCDIC 列、バイト検索・置換、テキストと共有の取り消し。
    hex.png
  • Git クライアント:ステージ/コミット、ブランチ、ログのレーングラフ、Diff、コンフリクト解決、fetch/pull/push。
    git.png
  • ターミナル/SSH/リモート編集:内蔵ターミナル、SSH シェル、SFTP/FTP/FTPS。
    ssh.png
  • データベースツール、双方向 Diff/マージ、CSV グリッド編集。
    db.png
  • 各種フォーマット変換、CLI モード。
  • リバースエンジニアリング+生成AI連携(MCP) ← イチオシ。次章で詳述します。
    disasm_listing.png

同じアプリ・同じ UI・同じ取り消し操作で完結するのがねらいです。

🔍 生成AIと連携したリバースエンジニアリング(イチオシ)

Zume は解析エンジン群を内蔵し、それらを MCP(Model Context Protocol)サーバーとして公開します。つまり Claude などの生成AIエージェントが、Zume を「解析ツール」として呼び出すという使い方ができます。

どう動くのか

AI クライアント(Claude Desktop / Claude Code など)に zume-mcp を登録しておくと、あとは自然言語で頼むだけです。

「notepad.exe のインポート関数を一覧して、怪しい API を使っていないか教えて」
「この ELF でエントロピーの高いセクションは? パックされていそう?」
「GetProcAddress を呼び出している箇所を逆アセンブルで見せて」
「この Mach-O の Objective-C クラス定義を復元して」

AI はこれらを、Zume の次のツールを使って解決します(抜粋)。

  • pe_info / elf_info / macho_info … PE/ELF/Mach-O の構造解析(ヘッダ、セクション+エントロピー、インポート/エクスポート、リソース、ASLR/DEP/CFG などの保護機構、ハードニング)
  • disassemble … 逆アセンブル(Capstone:x86/x64・ARM・Thumb・AArch64)
  • xrefs / functions … 相互参照と関数境界・コールグラフの復元
  • decompile … Ghidra 連携の逆コンパイル(ILSpy(.NET)・javap+CFR(Java) も対応/ユーザー導入ツールへ委譲)
  • yara_scan / entropy / extract_strings / find_bytes / hex_dump … YARA スキャン・エントロピー・文字列抽出・バイト検索・ダンプ

さらに Objective-C/Swift のインターフェース復元(Mach-O のランタイムメタデータからクラス・メソッド・プロパティ・Swift 型やデマングル済みシンボルを復元)にも対応。macOS / iOS バイナリの読み解きに効きます。

逆コンパイルには Ghidra が必要です。 構造解析・逆アセンブル・相互参照/関数復元・YARA・エントロピーは Zume 単体で動きますが、decompile(C への逆コンパイル)のご利用には、別途 Ghidra(無償・NSA 公開)のインストールと、設定での Ghidra パス指定が必要です。.NET は ILSpy、Java は javap+CFR を同様にユーザー側でご用意ください。

安全な設計

  • 静的解析のみ:対象バイナリを実行しません(読むだけ)。
  • ローカル完結:解析はすべて手元で走り、バイナリが外部へ送られることはありません。
  • サンドボックス:ZUME_MCP_ROOTS でアクセス可能なディレクトリを、ZUME_MCP_READONLY で読み取り専用を指定できます。

AI なしでも、エディタ単体で

同じエンジンはエディタの「Code」メニューからも手動で使えます(実行ファイル情報/逆アセンブル/相互参照/逆コンパイル/インターフェース復元/YARA)。コード行をクリックすれば HEX ビューの該当オフセットの逆アセンブルへジャンプ。HEX 編集やバイナリパッチ(IPS/BPS/UPS/bsdiff/VCDIFF)と同じ 1 アプリ内で、「解析 → 編集」まで完結します。

解析対象は、リバースエンジニアリングがライセンス/EULA で許可され、かつ解析する権利を持つバイナリに限ってご利用ください。

動作環境とダウンロード

  • Windows 10/11 (x64):Microsoft Store からインストール(自動更新対応)/ポータブル ZIP(インストーラ不要・解凍して実行)
  • macOS (Apple Silicon):DMG(署名・公証済み。警告なく起動可)
  • Linux (x86_64):AppImage / DEB / RPM

ダウンロード: https://smolt-stage.com/home/download.html
Microsoft Store: ストアで「Zume Editor」を検索してインストールできます(Store 版・ZIP 版とも機能は同一。逆コンパイルには別途 Ghidra が必要です)。

Windows の初回起動:ポータブル ZIP 版はまだコード署名していないため、SmartScreen の警告が出ることがあります。「詳細情報 → 実行」で起動してください。各ファイルの SHA-256 は配布ページと SHA256SUMS.txt で確認できます。Microsoft Store 版はストアの署名で配布されます。

ベータ版について

  • 2027年3月31日まで全機能を無料(期限後は起動できません)。
  • 正式版はサブスクリプションを予定。ベータのフィードバックを反映して仕上げます。
  • 不具合・要望はこちら:https://github.com/zume-editor-dev/zume-editor-help/issues
    • 「バージョン」「OS」「再現手順」、Windows はログ(%LOCALAPPDATA%\ZumeEditor\logs\zume-editor.log)を添えていただけると助かります。

おわりに

「重いツールをいくつも開かずに、1 つのネイティブアプリで完結する」体験を、巨大ファイルや普段のコード編集で――そして 生成AIにバイナリ解析を任せる新しいリバースエンジニアリング体験を、ぜひお試しください。感想・不具合報告をお待ちしています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?