Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Enigma- — Ghidra 分析核心的 C++ 重新实现,不依赖 JVM,提供可嵌入的二进制分析、Pcode/Sleigh 基础以及面向逆向工程的 AI 就绪接口。 | Kitploit
工具/GitHubGitHub/gmh5225/enigma-
静态分析代码分析动态代码分析 (DAST)逆向工程实用工具与框架二进制分析AI 辅助逆向AI 安全
GitHubgmh5225/enigma-

Enigma-

Ghidra 分析核心的 C++ 重新实现,不依赖 JVM,提供可嵌入的二进制分析、Pcode/Sleigh 基础以及面向逆向工程的 AI 就绪接口。

查看仓库
143个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Enigma

Ghidra 分析核心(SoftwareModeling + Utility)的 C++ 重新实现,去除了 Java/JVM 依赖。专为 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 的翻译版本, 后者根据 Apache License 2.0 许可。

Enigma 在相同许可证下分发。 详情请参见 LICENSE。


相关

  • Ghidra (NSA) — 原始 Java 项目
  • Capstone — 反汇编引擎(计划集成)
  • LIEF — 二进制解析(计划集成)
下载工具