Bancada de engenharia reversa construída sobre o descompilador do Ghidra com um motor nativo sem Java, análise de funções assistida por IA, patch de bytes, emulação em sandbox e automação via CLI/MCP.
Desmonte um programa e entenda-o, com uma ajuda extra. KRAKEN é um ambiente de engenharia reversa de código aberto construído sobre o descompilador do Ghidra, com um motor nativo sem Java e um motor Ghidra completo opcional. Você, seus scripts e agentes de IA trabalham todos no mesmo projeto por meio de um único conjunto de comandos, e toda edição é registrada, atribuída e reversível. Você não precisa saber engenharia reversa para começar: o aplicativo explica os termos à medida que você avança e o tutorial orienta você em uma primeira sessão. O objetivo de longo prazo é reescrever binários em Rust, função por função, verificados contra o original.

Um projeto real do motor nativo: stripped_calc-O2-stripped deste repositório, após algumas funções terem sido nomeadas.
Analisar
Aplicar patches
IA
Automatizar
--json para scripts, um módulo Python e um daemon em segundo plano que mantém os projetos aquecidos.Reescrever
KRAKEN está em pré-alfa (0.1a). Espere arestas ásperas e mudanças incompatíveis.
| Linux x86_64 | macOS (Apple silicon) | Windows x86_64 | |
|---|---|---|---|
| CLI, servidor MCP, GUI | Funciona | Compila, experimental | Compila, experimental |
Motor nativo, sem Java (kraken setup --native) | Funciona (ELF e PE) | Ainda não | Ainda não |
Análise com Ghidra (kraken setup) | Funciona | Ainda não | Ainda não |
| Sandbox em torno do Ghidra | Landlock | Ainda não | Ainda não |
| Modelos locais | Funciona | Compila | Compila |
| Pipeline de reescrita | Funciona (requer Landlock e um modelo) | Recusa-se a executar | Recusa-se a executar |
"Compila" significa que o código compila e é verificado na CI, não que o produto inteiro tenha sido comprovado ali. Linux é a plataforma a usar hoje.
Linux x86_64 (sem necessidade de Java: o motor nativo e seus arquivos de processador estão na release):
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Adam-AtlasSoftware/kraken/main/scripts/install.sh | bash
O script verifica o download em relação ao SHA256SUMS da release, não precisa de sudo e instala em ~/.local. Ou use o AppImage da última release (chmod +x KRAKEN-*.AppImage, depois execute-o; ./KRAKEN-*.AppImage kraken --help executa a linha de comando), ou no Arch Linux instale kraken-workbench-bin a partir do AUR. Os arquivos para Windows e macOS também estão na página de releases e são experimentais (consulte Status). Install tem os detalhes e a compilação a partir do código-fonte.
kraken project-create --binary /usr/bin/ls --project ~/kraken-projects/ls
kraken analyze --project ~/kraken-projects/ls
kraken list-functions --project ~/kraken-projects/ls --limit 20
kraken-gui # or open the app and pick the project
Novos projetos usam o motor nativo quando ele consegue abrir o arquivo, caso contrário, o motor opcional Ghidra (Mach-O, outros processadores, informações de depuração do Windows), que o kraken setup baixa com um JDK no primeiro uso. A página do motor nativo compara os dois. Os programas de prática em corpus/bin/ são um bom começo, e o tutorial percorre uma primeira sessão.
Conecte um agente: claude mcp add kraken -- kraken mcp --project ~/kraken-projects/ls.
Você precisa de Rust e um compilador C++:
git clone https://github.com/Adam-AtlasSoftware/kraken && cd kraken
cargo build --release -p kraken-cli -p krakend -p kraken-gui -p engine-native -p kraken-emu
export PATH="$PWD/target/release:$PATH"
kraken setup --native # once: fetches the pinned sources, compiles the Sleigh files (about a minute)
Comece pelo tutorial: sua primeira sessão de engenharia reversa.
Compile o livro com mdbook build docs. A referência de comandos é gerada: execute cargo xtask docs após alterar um comando.