Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Enigma — ネイティブC++製のリバースエンジニアリングエンジン。PE/ELFバイナリ向けの逆アセンブル、逆コンパイル、解析パイプラインを備え、対話型GUIとGhidra互換の逆コンパイラを特徴とする。 | Kitploit
ツール/GitHubGitHub/bunnybuzz/enigma
静的分析リバースエンジニアリングデバッガマルウェア分析バイナリ解析AI支援リバースエンジニアリング
GitHubbunnybuzz/enigma

Enigma

ネイティブC++製のリバースエンジニアリングエンジン。PE/ELFバイナリ向けの逆アセンブル、逆コンパイル、解析パイプラインを備え、対話型GUIとGhidra互換の逆コンパイラを特徴とする。

リポジトリを見る
6241095日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
image image image

Enigma Engine

Ghidraの解析パイプラインに着想を得た、ネイティブC++製のリバースエンジニアリングエンジン。

EnigmaはJVMへの依存を取り除き、組み込みや拡張が可能で、ネイティブツールやAIシステムと直接統合できるスタンドアロンの解析コアを提供します。


現在の状態

Enigmaは活発に開発中であり、すでにエンドツーエンドの解析パイプラインが機能しています。

解析エンジン

  • PE、ELF(32/64ビット、LE/BE、プログラムヘッダ経由のストリップ済みバイナリ)、Mach-O(fat/universalを含む)、COFFオブジェクト/アーカイブ、およびGhidraの.gzf/.repインポートパス
  • Capstone + コンパイル済みSLEIGH仕様によるマルチアーキテクチャ逆アセンブル(x86/x64、ARM32、AArch64、MIPS(16e系を含む)、PowerPC)
  • Ghidraネイティブのデコンパイラライブラリを用いたPcode生成
  • Ghidra 12.1.3 headlessに対して監査済みの関数検出:x86-64、ARM、AArch64、MIPS、PPCにわたるすべての小規模フィクスチャで100%の命令レベル意味論的一致(ニーモニック/オペランドの不一致0件)。大規模なx86-64バイナリでは2856個の共有関数/116k以上の意味論的一致
  • 関数ごとのパリティハーネスを備えたCデコンパイル(Ghidra 12.1.3に対する関数セット、命名、成功、シグネチャ、呼び出し先セット、テキスト類似度の各指標。すべてのフィクスチャでhalt_baddataはゼロ)
  • Windows APIシグネチャ(1400以上のプロトタイプ)、glibc/Linuxプロトタイプ、noreturnテーブル(Linux/Mac/Windows)を用いた型復元
  • シンボル、参照、関数、型、メモリモデル
  • 142個の登録済みアナライザを備えた解析パイプライン
  • FlatBuffers + LMDBを用いた、gitライクなコミットとブランチを備えたプロジェクト永続化

GUI

  • インタラクティブな逆アセンブル(データセクションのバナー + 16進/ASCIIダンプを含む)
  • 16進ビューアとパッチ適用
  • デコンパイラ(文字列リテラルの解決、equate名、高度なコメントを含む)
  • インライン制御フロー可視化
  • Function Graphウィンドウ(ズーム可能な基本ブロックフローチャート)+ Call Graph
  • クロスリファレンスの探索
  • シンボルと関数のナビゲーション
  • 逆アセンブル、デコンパイラ、16進ビュー間のクロスビュー同期
  • 関数とシンボルのリネーム

コアパイプラインは安定しており(78/78のCTestスイートがグリーン)、現在の作業は機能カバレッジの拡大、エンジン/GUI統合の改善、およびGhidra 12.1.3とのパリティテスト中に特定された残りの機能ギャップの解消に焦点を当てています。


アーキテクチャ

Binary (PE / ELF / Mach-O / COFF)
        │
        ▼
Binary Loader
        │
        ▼
Capstone + SLEIGH Disassembly
        │
        ▼
Pcode / Decompiler Engine
        │
        ▼
Analysis Pipeline
        │
        ├── Function Detection
        ├── Type Recovery
        ├── Symbols
        ├── References
        └── Other Analyses
        │
        ▼
Program Model
        │
        ├── Functions
        ├── Symbols
        ├── Types
        ├── Memory
        └── References
        │
        ▼
Storage
        │
        ├── FlatBuffers snapshots
        ├── LMDB index
        └── Git-like commits / branches
        │
        ▼
Qt GUI
        │
        ├── Disassembly
        ├── Decompiler
        ├── Hex View
        ├── CFG / Call Graph
        └── Explorers

オリジナル実装と Ghidra コンポーネントの比較

コンポーネントソース
デコンパイラエンジンGhidra ネイティブ C++ デコンパイラライブラリ
Sleigh プロセッサ仕様Ghidra
プログラムモデルネイティブ Enigma C++ 実装
型およびメモリシステムネイティブ Enigma C++ 実装
解析パイプラインネイティブ Enigma C++ 実装
関数検出ネイティブ Enigma 実装
バイナリローダーネイティブ Enigma 実装 (PE/ELF/Mach-O/COFF)
ストレージネイティブ Enigma 実装
GUIネイティブ Qt6 実装

Enigma は、必要な低レベル解析技術を提供する箇所で Ghidra コンポーネントを使用しつつ、その周囲のエンジンアーキテクチャは C++ でネイティブに実装されています。


ビルド

要件

  • C++17 以降
  • CMake 3.16+
  • Ninja (バックエンド) または MSYS Makefiles (GUI)、MSYS2 経由の MinGW64 g++
  • Capstone
  • LMDB
  • SQLite3
  • FlatBuffers + flatc
  • zlib
  • Python3 (CLI 回帰テスト)
  • Qt 6 (Widgets、Core、Gui — GUI のみ。Qt-Advanced-Docking-System は CMake FetchContent 経由で自動的に取得されます)

ビルド

git clone https://github.com/adam-040/Enigma.git
cd Enigma/Enigma-Engine

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure

プロジェクトの状況

Enigma はもはや単なるプロトタイプの解析コアではありません。ネイティブパイプライン、ストレージ層、解析システム、および GUI は稼働状態にあります(CTest スイートは 78/78 すべて成功)。

現在の開発は、エンジンの機能を拡張し、バックエンドにすでに存在する機能を GUI に接続することに重点を置きつつ、Ghidra 12.1.3 の逆アセンブラ/デコンパイラとのパリティ監査で特定された残りのギャップを解消することに注力しています(PLAN/ を参照)。


ライセンス

このプロジェクトは Apache License 2.0 の下でライセンスされています。

Enigma が使用するサードパーティコンポーネントは、それぞれのライセンスの対象となります。

ツールをダウンロード