Banco de trabajo de ingeniería inversa construido sobre el descompilador de Ghidra con un motor nativo sin Java, análisis de funciones asistido por IA, parcheo de bytes, emulación en sandbox y automatización mediante CLI/MCP.
Desmonta un programa y comprenderlo, con una ayuda extra. KRAKEN es un banco de trabajo de ingeniería inversa de código abierto construido sobre el descompilador de Ghidra, con un motor nativo sin Java y un motor Ghidra completo opcional. Tú, tus scripts y los agentes de IA trabajáis todos sobre el mismo proyecto mediante un único conjunto de comandos, y cada edición queda registrada, atribuida y se puede deshacer. No necesitas saber ingeniería inversa para empezar: la aplicación explica los términos sobre la marcha y el tutorial te guía en una primera sesión. El objetivo a largo plazo es reescribir binarios en Rust, función a función, verificándolos contra el original.

Un proyecto real con el motor nativo: stripped_calc-O2-stripped de este repositorio, tras nombrar algunas funciones.
Analizar
Parchear
IA
Automatizar
--json para scripts, un módulo de Python y un demonio en segundo plano que mantiene los proyectos calientes.Reescribir
KRAKEN está en pre-alpha (0.1a). Espera asperezas y cambios que rompan la compatibilidad.
| Linux x86_64 | macOS (Apple silicon) | Windows x86_64 | |
|---|---|---|---|
| CLI, servidor MCP, GUI | Funciona | Compila, experimental | Compila, experimental |
Motor nativo, sin Java (kraken setup --native) | Funciona (ELF y PE) | Aún no | Aún no |
Análisis con Ghidra (kraken setup) | Funciona | Aún no | Aún no |
| Sandbox alrededor de Ghidra | Landlock | Aún no | Aún no |
| Modelos locales | Funciona | Compila | Compila |
| Pipeline de reescritura | Funciona (necesita Landlock y un modelo) | Se niega a ejecutarse | Se niega a ejecutarse |
"Compila" significa que el código se compila y se verifica en CI, no que todo el producto se haya probado allí. Linux es la plataforma que hay que usar hoy.
Linux x86_64 (no se necesita Java: el motor nativo y sus archivos de procesador están en la release):
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Adam-AtlasSoftware/kraken/main/scripts/install.sh | bash
El script verifica la descarga contra el archivo SHA256SUMS de la versión, no necesita sudo y se instala en ~/.local. O bien toma el AppImage de la última versión (chmod +x KRAKEN-*.AppImage, luego ejecútalo; ./KRAKEN-*.AppImage kraken --help ejecuta la línea de comandos), o en Arch Linux instala kraken-workbench-bin desde el AUR. Los archivos de Windows y macOS también están en la página de versiones, y son experimentales (ver Estado). Instalar tiene los detalles y la compilación desde el código fuente.
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
Los proyectos nuevos usan el motor nativo cuando puede abrir el archivo; de lo contrario, usan el motor opcional Ghidra (Mach-O, otros procesadores, información de depuración de Windows), que kraken setup descarga junto con un JDK en el primer uso. La página del motor nativo compara ambos. Los programas de práctica en corpus/bin/ son un buen punto de partida, y el tutorial guía a través de una primera sesión.
Conecta un agente: claude mcp add kraken -- kraken mcp --project ~/kraken-projects/ls.
Necesitas Rust y un compilador de 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)
Comienza con el tutorial: tu primera sesión de ingeniería inversa.
Compila el libro con mdbook build docs. La referencia de comandos se genera: ejecuta cargo xtask docs después de cambiar un comando.