Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Enigma- — Ghidraの解析コアをJVM依存なしでC++で再実装し、組み込み可能なバイナリ解析、Pcode/Sleighの基盤、リバースエンジニアリング向けのAI対応インターフェースを提供します。 | Kitploit
ツール/GitHubGitHub/gmh5225/enigma-
静的分析コード分析動的コード分析 (DAST)リバースエンジニアリングユーティリティとフレームワークバイナリ解析AI支援リバースエンジニアリングAIセキュリティ
GitHubgmh5225/enigma-

Enigma-

Ghidraの解析コアをJVM依存なしでC++で再実装し、組み込み可能なバイナリ解析、Pcode/Sleighの基盤、リバースエンジニアリング向けのAI対応インターフェースを提供します。

リポジトリを見る
143ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Enigma

Ghidraの解析コア(SoftwareModeling + Utility)をJava/JVM依存なしで再実装したC++版。AI統合、パフォーマンス、組み込みやすさを目的として構築。Enigma Engineプロジェクトの一部。

Enigma Engine

Ghidraの解析コアをC++で再実装 — JVMなし、Javaなし、完全な制御。


これは何か?

Ghidraは、NSAがJavaで構築した強力なリバースエンジニアリングフレームワークです。 Enigmaはその解析コアをモダンC++でゼロから書き直したもので、以下のように設計されています:

  • 組み込み可能 — 任意のプロジェクトにライブラリとしてリンク可能
  • AI対応 — ML/AI統合のためのクリーンなインターフェース
  • 高速 — JVMオーバーヘッドなし、ネイティブメモリレイアウト
  • ハッカブル — すべてのファイルを自由に変更、拡張、置換可能

これはJavaからC++へのトランスパイラ出力ではありません。すべてのファイルは手動で翻訳・検証され、完全なテストカバレッジを備えています。


なぜ?

GhidraのJavaコードベースは成熟していますが、特定の方向への拡張が困難です:

問題Enigmaの回答
JVM起動 + GCオーバーヘッドネイティブC++、ランタイムゼロ
非Javaプロジェクトへの組み込みが困難静的/共有ライブラリ
AI統合にJNIブリッジが必要直接的なC++ API
モノリシックなプラグインシステムモジュール式で交換可能なコンポーネント

現在の状況

活発に開発中 — 解析基盤は安定しておりテスト済み。

コア型システム、アドレスモデル、メモリインターフェース、設定フレームワーク、Pcode/Sleigh基盤は実装済みでテストに合格しています。プロジェクトは厳格なボトムアップ翻訳順序に従っています:すべての依存関係が揃って検証されるまで、モジュールは追加されません。

ビルドシステム:CMake + Ninja + CTest — 警告ゼロ、全テスト合格。


アーキテクチャ

EnigmaはGhidraの内部パッケージ構造を反映し、C++名前空間に翻訳されています:

root@kitploit:~
include/ghidra/
├── [Address system]     Address, AddressSpace, AddressFactory, AddressRange
├── [Data types]         DataType, Structure, Union, Enum, Pointer,
│                        Array, TypeDef, FunctionDefinition, ...
├── [Memory]             MemBuffer, MemoryBlock, Memory, ByteProvider
├── [Settings]           Settings + full SettingsDefinition hierarchy
├── [Pcode / Sleigh]     PcodeOp, Varnode, SleighLanguage, SequenceNumber
└── [Utilities]          MathUtilities, DataConverter, Msg, TaskMonitor, ...

src/
└── [.cpp implementations for complex classes]

主要な設計判断:

  • Javaのinterface → 純粋なvirtualメソッドを持つC++のabstract class
  • JavaのArrayList / HashMap → std::vector / std::unordered_map
  • Javaのnull戻り値 → std::optional<T>
  • Javaのジェネリクス → C++テンプレート
  • Addressはインターフェース + 実装から単一の値型に統合(ヒープ割り当てを回避)
  • 生ポインタは非所有参照にのみ使用;所有権は常に明示的

スコープ

EnigmaはGhidraの完全な置き換えです — Javaに存在するすべてのコンポーネントにはC++の等価物が存在します。UI、プラグインシステム、逆アセンブラ、デコンパイラ、スクリプトエンジンを含みます。

現在の焦点は解析コア — 他のすべてがその上に構築される基盤です。これが堅牢でテスト済みになれば、残りの層(GUI、ローダー、解析プラグイン、スクリプト)が順に続きます。

恒久的に除外されるものはありません。すべては優先順位の問題です。


ビルド

要件

  • C++17コンパイラ(g++ 11+ または clang++ 13+)
  • CMake 3.20+
  • Ninja(推奨)

手順

root@kitploit:~
git clone https://github.com/adam-040/Enigma.git
cd Enigma
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure

ロードマップ

短期

  • Sleigh言語エンジンの完成(.sla / .pspecのロード)
  • PcodeEmitter — 生の命令からPcodeを生成
  • BasicBlock + ControlFlowGraph
  • 逆アセンブリのためのCapstone統合(x86、ARM、RISC-V)

中期

  • バイナリロードのためのLIEF統合(ELF、PE、Mach-O)
  • シンボルテーブル + 型復元
  • デコンパイラIR(High Pcode)

AI統合

  • MLモデル向けのクリーンなC++ APIサーフェス
  • 関数シグネチャ推論
  • 変数名 / 型の提案
  • ローカルLLM統合(クラウド依存なし)

プロジェクト名

Enigma — 第二次世界大戦の暗号機にちなんで命名。リバースエンジニアリングによって解読されました。 しっくりきたのです。


ライセンス

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

Enigmaは同じライセンスの下で配布されます。 詳細はLICENSEを参照してください。


関連

  • Ghidra (NSA) — オリジナルのJavaプロジェクト
  • Capstone — 逆アセンブリエンジン(統合予定)
  • LIEF — バイナリ解析(統合予定)
ツールをダウンロード