Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Enigma- — Reimplementação em C++ do núcleo analítico do Ghidra sem dependências de JVM, fornecendo análise binária incorporável, fundamentos de Pcode/Sleigh e interfaces prontas para IA para engenharia reversa. | Kitploit
Ferramentas/GitHubGitHub/gmh5225/enigma-
Análise EstáticaAnálise de CódigoAnálise Dinâmica de Código (DAST)Engenharia ReversaUtilitários e FrameworksAnálise de BináriosEngenharia Reversa Assistida por IASegurança de IA
GitHubgmh5225/enigma-

Enigma-

Reimplementação em C++ do núcleo analítico do Ghidra sem dependências de JVM, fornecendo análise binária incorporável, fundamentos de Pcode/Sleigh e interfaces prontas para IA para engenharia reversa.

14há 3 mesesAinda não revisado
Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Enigma

Reimplementação em C++ do núcleo analítico do Ghidra (SoftwareModeling + Utility), sem dependências de Java/JVM. Criado para integração com IA, desempenho e capacidade de incorporação. Parte do projeto Enigma Engine.

Enigma Engine

Uma reimplementação em C++ do núcleo analítico do Ghidra — sem JVM, sem Java, controle total.


O que é isto?

Ghidra é uma poderosa framework de engenharia reversa criada pela NSA em Java. Enigma é uma reescrita do zero do seu núcleo analítico em C++ moderno, projetada para ser:

  • Incorporável — ligue-a como biblioteca em qualquer projeto
  • Pronta para IA — interfaces limpas para integração com ML/IA
  • Rápida — sem sobrecarga da JVM, layout de memória nativo
  • Modificável — cada arquivo é seu para modificar, estender ou substituir

Isto não é a saída de um transpilador de Java para C++. Cada arquivo é traduzido e verificado manualmente, com cobertura total de testes.


Porquê?

A base de código Java do Ghidra é madura, mas difícil de estender em certas direções:

ProblemaResposta do Enigma
Arranque da JVM + sobrecarga do GCC++ nativo, zero runtime
Difícil de incorporar em projetos não-JavaBiblioteca estática/dinâmica
Integração com IA requer pontes JNIAPI C++ direta
Sistema de plugins monolíticoComponentes modulares e substituíveis

Estado Atual

Desenvolvimento ativo — a base analítica está estável e testada.

O sistema de tipos central, o modelo de endereços, as interfaces de memória, a framework de configurações e as bases de Pcode/Sleigh estão implementados e a passar nos testes. O projeto segue uma ordem de tradução estritamente ascendente: nenhum módulo é adicionado até que todas as suas dependências estejam prontas e verificadas.

Sistema de compilação: CMake + Ninja + CTest — zero avisos, todos os testes passam.


Arquitetura

O Enigma espelha a estrutura interna de pacotes do Ghidra, traduzida para namespaces de 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]

Decisões de design fundamentais:

  • interface de Java → abstract class de C++ com métodos virtual puros
  • ArrayList / HashMap de Java → std::vector / std::unordered_map
  • Retornos null de Java → std::optional<T>
  • Generics de Java → templates de C++
  • Address fundido de interface + implementação num único tipo de valor (evita alocação no heap)
  • Ponteiros brutos usados apenas para referências não-proprietárias; a propriedade é sempre explícita

Âmbito

O Enigma é um substituto completo do Ghidra — cada componente que existe em Java terá um equivalente em C++, incluindo a UI, o sistema de plugins, o disassembler, o decompilador e o motor de scripting.

O foco atual é o núcleo analítico — a base sobre a qual tudo o resto é construído. Assim que estiver sólido e testado, as camadas restantes (GUI, loaders, plugins de análise, scripting) seguirão por ordem.

Nada está permanentemente excluído. Tudo é uma questão de prioridade.


Compilação

Requisitos

  • Compilador C++17 (g++ 11+ ou clang++ 13+)
  • CMake 3.20+
  • Ninja (recomendado)

Passos

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

Curto prazo

  • Completar o motor da linguagem Sleigh (carregamento de .sla / .pspec)
  • PcodeEmitter — gerar Pcode a partir de instruções brutas
  • BasicBlock + ControlFlowGraph
  • Integração com Capstone para desassemblagem (x86, ARM, RISC-V)

Médio prazo

  • Integração com LIEF para carregamento de binários (ELF, PE, Mach-O)
  • Tabela de símbolos + recuperação de tipos
  • IR do decompilador (High Pcode)

Integração com IA

  • Superfície de API C++ limpa para modelos de ML
  • Inferência de assinaturas de funções
  • Sugestão de nomes/tipos de variáveis
  • Integração com LLM local (sem dependência da cloud)

Nome do projeto

Enigma — nomeada em homenagem à máquina de cifra da Segunda Guerra Mundial, quebrada através de engenharia reversa. Pareceu adequado.


Licença

Este projeto é uma tradução do Ghidra, que está licenciado sob a Apache License 2.0.

O Enigma é distribuído sob a mesma licença. Consulte LICENSE para mais detalhes.


Relacionado

  • Ghidra (NSA) — o projeto Java original
  • Capstone — motor de desassemblagem (integração planeada)
  • LIEF — análise de binários (integração planeada)
Baixar ferramenta