Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Enigma- — C++-Neuimplementierung von Gidras Analyse-Kern ohne JVM-Abhängigkeiten, die einbettbare Binäranalyse, Pcode/Sleigh-Grundlagen und KI-fähige Schnittstellen für Reverse Engineering bereitstellt. | Kitploit
Tools/GitHubGitHub/gmh5225/enigma-
Statische AnalyseCode-AnalyseDynamische Code-Analyse (DAST)Reverse EngineeringDienstprogramme & FrameworksBinäranalyseKI-gestütztes Reverse EngineeringKI-Sicherheit
GitHubgmh5225/enigma-

Enigma-

C++-Neuimplementierung von Gidras Analyse-Kern ohne JVM-Abhängigkeiten, die einbettbare Binäranalyse, Pcode/Sleigh-Grundlagen und KI-fähige Schnittstellen für Reverse Engineering bereitstellt.

Repository anzeigen
14vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Enigma

C++-Neuimplementierung von Gidras analytischem Kern (SoftwareModeling + Utility), befreit von Java/JVM-Abhängigkeiten. Entwickelt für KI-Integration, Performance und Einbettbarkeit. Teil des Enigma-Engine-Projekts.

Enigma Engine

Eine C++-Neuimplementierung von Gidras analytischem Kern — keine JVM, kein Java, volle Kontrolle.


Was ist das?

Ghidra ist ein leistungsstarkes Reverse-Engineering-Framework, das von der NSA in Java entwickelt wurde. Enigma ist eine von Grund auf neu geschriebene Implementierung seines analytischen Kerns in modernem C++, konzipiert als:

  • Einbettbar — als Bibliothek in jedes Projekt einbindbar
  • KI-bereit — saubere Schnittstellen für ML/KI-Integration
  • Schnell — kein JVM-Overhead, native Speicherverwaltung
  • Anpassbar — jede Datei kann modifiziert, erweitert oder ersetzt werden

Dies ist keine Ausgabe eines Java-zu-C++-Transpilers. Jede Datei ist manuell übersetzt und verifiziert, mit vollständiger Testabdeckung.


Warum?

Gidras Java-Codebasis ist ausgereift, aber in bestimmten Richtungen schwer zu erweitern:

ProblemEnigmas Antwort
JVM-Start + GC-OverheadNatives C++, keine Laufzeitumgebung
Schwer in Nicht-Java-Projekte einzubettenStatische/Shared Library
KI-Integration erfordert JNI-BridgesDirekte C++-API
Monolithisches Plugin-SystemModulare, austauschbare Komponenten

Aktueller Status

Aktive Entwicklung — das analytische Fundament ist stabil und getestet.

Das Kern-Typsystem, das Adressmodell, Speicherschnittstellen, das Einstellungs-Framework sowie die Pcode/Sleigh-Grundlagen sind implementiert und bestehen die Tests. Das Projekt folgt einer strikten Bottom-up-Übersetzungsreihenfolge: Kein Modul wird hinzugefügt, bevor alle seine Abhängigkeiten vorhanden und verifiziert sind.

Build-System: CMake + Ninja + CTest — keine Warnungen, alle Tests bestehen.


Architektur

Enigma spiegelt Gidras interne Paketstruktur wider, übersetzt in C++-Namespaces:

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]

Zentrale Designentscheidungen:

  • Java interface → C++ abstract class mit reinen virtual-Methoden
  • Java ArrayList / HashMap → std::vector / std::unordered_map
  • Java null-Rückgaben → std::optional<T>
  • Java Generics → C++ Templates
  • Address aus Interface + Impl zu einem einzigen Werttyp zusammengeführt (vermeidet Heap-Allokation)
  • Rohe Zeiger nur für nicht-besitzende Referenzen verwendet; Besitz ist immer explizit

Umfang

Enigma ist ein vollständiger Ersatz für Ghidra — jede Komponente, die in Java existiert, wird ein C++-Äquivalent erhalten, einschließlich UI, Plugin-System, Disassembler, Decompiler und Skript-Engine.

Der aktuelle Fokus liegt auf dem analytischen Kern — dem Fundament, auf dem alles andere aufbaut. Sobald dieser solide und getestet ist, folgen die übrigen Schichten (GUI, Loader, Analyse-Plugins, Skripting) in der Reihenfolge.

Nichts ist dauerhaft ausgeschlossen. Alles ist eine Frage der Priorität.


Build

Voraussetzungen

  • C++17-Compiler (g++ 11+ oder clang++ 13+)
  • CMake 3.20+
  • Ninja (empfohlen)

Schritte

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

Roadmap

Kurzfristig

  • Vollständige Sleigh-Sprach-Engine (.sla / .pspec-Laden)
  • PcodeEmitter — Pcode aus Rohinstruktionen generieren
  • BasicBlock + ControlFlowGraph
  • Capstone-Integration für Disassemblierung (x86, ARM, RISC-V)

Mittelfristig

  • LIEF-Integration für Binärladen (ELF, PE, Mach-O)
  • Symboltabelle + Typwiederherstellung
  • Decompiler-IR (High Pcode)

KI-Integration

  • Saubere C++-API-Oberfläche für ML-Modelle
  • Funktionssignatur-Inferenz
  • Variablennamen-/Typvorschläge
  • Lokale LLM-Integration (keine Cloud-Abhängigkeit)

Projektbenennung

Enigma — benannt nach der Chiffriermaschine aus dem Zweiten Weltkrieg, die durch Reverse Engineering geknackt wurde. Es fühlte sich richtig an.


Lizenz

Dieses Projekt ist eine Übersetzung von Ghidra, das unter der Apache License 2.0 lizenziert ist.

Enigma wird unter derselben Lizenz vertrieben. Siehe LICENSE für Details.


Verwandtes

  • Ghidra (NSA) — das ursprüngliche Java-Projekt
  • Capstone — Disassemblierungs-Engine (geplante Integration)
  • LIEF — Binärparsing (geplante Integration)
Tool herunterladen