
Disassembler, decompilatore e debugger in stile x64dbg per binari PE/ELF con listing in stile IDA, grafi delle funzioni, plugin Lua, CLI e un server MCP integrato per l'analisi guidata dall'IA.
un disassembler, decompilatore e debugger in uno — per windows, linux e macos, x86, x64 e arm64
listing in stile ida, un decompilatore, un grafo delle funzioni, un debugger in stile x64dbg, plugin lua e un server MCP integrato per poter puntare un'AI su un binario — un piccolo programma, tutto incluso, niente da installare per compilare.

ceasta mostra lo stesso codice dai byte grezzi fino a c leggibile, così puoi scendere al livello che ti serve:
; assembly - the real instructions // pseudocode (f5) - reconstructed c
checksum proc int checksum(int rdi)
movzx edx, byte ptr [rdi] {
test dl, dl rdx = *(char*)rdi;
je loc_1191 if (rdx == 0) {
mov eax, 0x1505 return 0x1505;
loc_1179: }
mov ecx, eax rax = 0x1505;
shl ecx, 5 do {
add eax, ecx rax = rax + (rax << 5) + rdx;
add rdi, 1 rdi = rdi + 1;
movzx edx, dl rdx = *(char*)rdi;
add eax, edx } while (rdx != 0);
movzx edx, byte ptr [rdi] return rax;
test dl, dl }
jne loc_1179
ret
loc_1191:
mov eax, 0x1505
ret
che è djb2 (5381 è 0x1505, e (h << 5) + h è h * 33). fai clic su un nome nello pseudocodice e assegna i nomi come li comprendi — y sulla funzione le assegna un prototipo, n rinomina una variabile:
unsigned checksum(const char* s)
{
rdx = *(char*)s;
if (rdx == 0) {
return 0x1505;
}
h = 0x1505;
do {
h = h + (h << 5) + rdx;
s = s + 1;
rdx = *(char*)s;
} while (rdx != 0);
return h;
}
il decompilatore è best-effort (x86 / x64, ancora senza struct) — ottimo per ottenere rapidamente una routine, mentre il listing resta la fonte di verità.
scaricalo dalla pagina delle release:
| file | piattaforma | cosa ottieni |
|---|---|---|
ceasta-x.y.z-setup.exe | windows 10/11 x64 | l'app completa, si installa per il tuo utente (senza admin), menu start + opzionale "apri con ceasta" |
ceasta-x.y.z-windows-x64.zip | windows x64 | l'app completa, portabile — decomprimi ed esegui ceasta.exe |
ceasta-x.y.z-linux-x64.AppImage | linux x64 | l'app completa — chmod +x ed esegui (su linux) |
ceasta-cli-x.y.z-linux-x64.tar.gz | linux x64 | ceasta-cli + plugin: analisi, disassemblaggio, decompilatore, scripting, debugger da terminale, diff di binari, firme e il server MCP |
ceasta-x.y.z-macos.dmg | macos 11+, apple silicon e intel | l'app, ancora senza debugger — trascinala in Applicazioni (su un mac) |
ceasta-cli-x.y.z-macos.tar.gz | macos 11+, apple silicon e intel | ceasta-cli + plugin, tutto quanto sopra tranne il debugger |
n lo rinomina, y imposta un tipo o un prototipo. shift+f5 lo mostra accanto al listingkuna — il suo output per la stessa funzione, righe collegate al listing, anche arm64. maggiori dettagli sottordi == 3), watchpoint sulle variabili, step into / over / out, step back, esegui fino al cursore, pausa, registri, stack, call stack, mappa della memoria, memoria live
call decrypt "..."), registra i target delle chiamate indirette come xref (trace)ceasta-cli dbg: lo stesso debugger in un terminalesigmake / sigapply)ceasta-cli mcp — con prompt pronti all'uso, e nomi che revisioni prima che vengano applicati. vedi collegare un'AI.i64 di ida: ctrl+s scrive <file>.ceasta con i tuoi nomi, commenti, tipi, breakpoint e il programma stesso — si apre in seguito, o su un'altra macchina, senza l'originale. alla chiusura viene chiesto prima di scartare il lavoro non salvato.map, e ida / ghidra (con gli script in scripts/)ceasta-cli per script e ciuna sola finestra, niente che fluttua: