Banco di lavoro per reverse engineering basato sul decompilatore di Ghidra con un motore nativo senza Java, analisi delle funzioni assistita dall'IA, patching a livello di byte, emulazione in sandbox e automazione tramite CLI/MCP.
Scomponi un programma e comprendilo, con un aiuto concreto. KRAKEN è un banco di lavoro open-source per il reverse engineering basato sul decompilatore di Ghidra, con un motore nativo senza Java e un motore Ghidra completo opzionale. Tu, i tuoi script e gli agenti AI lavorate tutti sullo stesso progetto tramite un unico insieme di comandi, e ogni modifica è registrata, attribuita e annullabile. Non devi sapere il reverse engineering per iniziare: l'app spiega i termini man mano e il tutorial ti guida attraverso una prima sessione. L'obiettivo a lungo termine è la riscrittura in Rust dei binari, funzione per funzione, verificata rispetto all'originale.

Un vero progetto con motore nativo: stripped_calc-O2-stripped da questo repository, dopo che alcune funzioni sono state nominate.
Analizza
Applica patch
AI
Automatizza
--json per gli script, un modulo Python e un daemon in background che mantiene i progetti caldi.Riscrivi
KRAKEN è pre-alpha (0.1a). Aspettati spigoli e modifiche incompatibili.
| Linux x86_64 | macOS (Apple silicon) | Windows x86_64 | |
|---|---|---|---|
| CLI, server MCP, GUI | Funziona | Compila, sperimentale | Compila, sperimentale |
Motore nativo, senza Java (kraken setup --native) | Funziona (ELF e PE) | Non ancora | Non ancora |
Analisi con Ghidra (kraken setup) | Funziona | Non ancora | Non ancora |
| Sandbox attorno a Ghidra | Landlock | Non ancora | Non ancora |
| Modelli locali | Funziona | Compila | Compila |
| Pipeline di riscrittura | Funziona (richiede Landlock e un modello) | Rifiuta di eseguire | Rifiuta di eseguire |
"Compila" significa che il codice viene compilato ed è verificato in CI, non che l'intero prodotto sia stato collaudato lì. Linux è la piattaforma da usare oggi.
Linux x86_64 (nessun Java necessario: il motore nativo e i suoi file di processore sono nella release):
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Adam-AtlasSoftware/kraken/main/scripts/install.sh | bash
Lo script verifica il download rispetto al file SHA256SUMS della release, non richiede sudo e installa in ~/.local. Oppure prendi l'AppImage dalla ultima release (chmod +x KRAKEN-*.AppImage, poi eseguilo; ./KRAKEN-*.AppImage kraken --help avvia la riga di comando), oppure su Arch Linux installa kraken-workbench-bin da AUR. Gli archivi per Windows e macOS sono anch'essi presenti nella pagina delle release, e sono sperimentali (vedi Stato). Installazione contiene i dettagli e la compilazione dai sorgenti.
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
I nuovi progetti usano il motore nativo quando riesce ad aprire il file, altrimenti il motore opzionale Ghidra (Mach-O, altri processori, informazioni di debug di Windows), che kraken setup scarica insieme a un JDK al primo utilizzo. La pagina del motore nativo confronta i due. I programmi di pratica in corpus/bin/ sono un buon punto di partenza, e il tutorial guida attraverso una prima sessione.
Collega un agente: claude mcp add kraken -- kraken mcp --project ~/kraken-projects/ls.
Servono Rust e un compilatore 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)
Inizia con il tutorial: la tua prima sessione di reverse engineering.
Compila il libro con mdbook build docs. Il riferimento dei comandi è generato: esegui cargo xtask docs dopo aver modificato un comando.