outil de reverse engineering avec un serveur MCP intégré : une IA peut déboguer votre binaire, pas seulement le lire — points d'arrêt, pas à pas, mémoire, appel de fonctions. désassembleur + décompilateur + débogueur de style x64dbg en un seul. interface graphique windows, cli linux.
un désassembleur, décompilateur et débogueur en un — pour windows et linux
listing de style ida, un décompilateur, un graphe de fonctions, un débogueur de style x64dbg, des plugins lua, et un serveur MCP intégré pour pointer une IA vers un binaire — un petit programme, tout embarqué, rien à installer pour compiler.

ceasta montre le même code depuis les octets bruts jusqu'au c lisible, pour que vous puissiez descendre au niveau dont vous avez besoin :
; 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
c'est djb2 (5381 est 0x1505, et (h << 5) + h est h * 33). le décompilateur est au mieux : pas encore de types ni de structures, donc vous lisez les registres et les casts — parfait pour obtenir rapidement une routine, tandis que le listing reste la source de vérité.
récupérez-le sur la page des releases :
| fichier | plateforme | ce que vous obtenez |
|---|---|---|
ceasta-x.y.z-setup.exe | windows 10/11 x64 | l'application complète, s'installe pour votre utilisateur (sans admin), menu démarrer + option "ouvrir avec ceasta" |
ceasta-x.y.z-windows-x64.zip | windows x64 | l'application complète, portable — décompressez et lancez ceasta.exe |
ceasta-cli-x.y.z-linux-x64.tar.gz | linux x64 | ceasta-cli + plugins : analyse, désassemblage, décompilateur, scripting, débogueur terminal (sur linux) |
ceasta-cli dbg) — points d'arrêt, pas à pas, registres, mémoire. basique mais réel ; idéal sur des cibles mono-threadcall decrypt "..."), enregistrer les cibles d'appels indirects comme xrefs (trace)sigmake / sigapply)<binary>.ceasta committable à côtéceasta-cli pour les scripts et la ciune seule fenêtre, rien qui flotte :

le décompilateur (f5) :

| touche | quoi | touche | quoi |
|---|---|---|---|
| ctrl+o | ouvrir un fichier | espace | listing / graphe |
| g | sauter à une adresse ou un nom | f5 | pseudocode (décompilateur) |
| entrée / double clic | suivre l'opérande | alt+b | rechercher des octets |
| échap / ctrl+entrée | retour / avant | f9 | démarrer le débogage / continuer |
| n | renommer | f7 / f8 | pas à pas entrant / sortant |
| ; | commentaire | f4 | exécuter jusqu'au curseur |
| x | références vers ici | f2 | basculer un point d'arrêt |
| ctrl+s | sauvegarder noms et commentaires | f1 | tous les raccourcis |
les plugins sont des fichiers lua dans plugins/ (à côté du programme) ou dans %APPDATA%\ceasta\plugins. ils ajoutent des commandes au menu plugins. cinq sont fournis : résumé de fichier, chercheur de crypto, nommeur de wrappers, rapport de chaînes, traceur d'appels (débogueur).
ceasta.register_command("Count calls", function()
local n = 0
for _, fn in ipairs(ceasta.functions()) do
n = n + #ceasta.xrefs_to(fn.addr)
end
ceasta.log(n .. " references to functions")
end)
toute l'api est dans le guide de scripting lua. le panneau de sortie a aussi une invite lua — essayez ceasta.name(ceasta.here()).
ceasta-cli info file.exe format, entry, segments
ceasta-cli funcs file.exe functions
ceasta-cli disasm file.exe main 40 listing from a name or address
ceasta-cli graph file.exe start basic blocks of a function
ceasta-cli decompile file.exe main pseudocode for a function
ceasta-cli xrefs file.exe CreateFileW
ceasta-cli find file.exe "48 8b ?? 05"
ceasta-cli run file.exe script.lua run a plugin / script
ceasta-cli dbg ./program [args] interactive debugger (linux + windows)
ceasta-cli diff old.exe new.exe match functions, show what changed
ceasta-cli sigmake libc.a lib.sig make signatures from a file with symbols
ceasta-cli sigapply stripped lib.sig name matching functions
ceasta-cli mcp file.exe serve the file to an AI over MCP
pointez une IA (Claude Code, Claude Desktop, Cursor, ...) vers le binaire via le serveur MCP intégré de ceasta :
claude mcp add ceasta -- ceasta-cli mcp /path/to/target.exe
elle peut décompiler, lire les xrefs, renommer des fonctions, différencier des builds, et — avec --allow-debug — poser
des points d'arrêt, faire du pas à pas, lire la mémoire et même appeler une fonction dans le programme en cours d'exécution. le guide complet,
y compris les outils de débogage et les notes de sécurité, est dans connecter une IA.
la gui est réservée à windows, mais l'outil en ligne de commande fait l'analyse, le désassemblage, le décompilateur, le scripting et un débogueur terminal. récupérez ceasta-cli-x.y.z-linux-x64.tar.gz, décompressez et lancez — rien d'autre à installer :
tar xzf ceasta-cli-*-linux-x64.tar.gz
cd ceasta-cli-*-linux-x64
./ceasta-cli info /bin/ls format, entry, function / import / string counts
./ceasta-cli decompile /bin/ls start pseudocode for the entry point
./ceasta-cli run /bin/ls plugins/hello.lua run a lua plugin
./ceasta-cli dbg ./program debug it (break, step, registers, memory)
il lit aussi bien les elf (x86 / x64) que les fichiers pe windows, donc vous pouvez examiner un exe windows depuis linux aussi.
le débogueur terminal (dbg) est un débogueur ptrace avec les noms, le désassemblage et le décompilateur de ceasta intégrés :
(ceasta) b main break at a name or address
(ceasta) c continue
(ceasta) ni / si step over / into until <addr> run to
(ceasta) r registers k stack x <addr> memory
(ceasta) u disassemble here (with names)
(ceasta) dec decompile the function you're stopped in
(ceasta) lua ... run lua against the live process
tout ce qu'il faut est dans le dépôt — juste un compilateur, rien à récupérer.
windows
ceasta.sln, choisissez Release | x64, compilez → build\msvc\Releasecmake -S . -B build puis cmake --build build --config Releasepowershell -ExecutionPolicy Bypass -File installer\package.ps1linux (core + cli, la gui est réservée à windows)
cmake -S . -B build && cmake --build build -j
src/app.* — état, actions et disposition principalesrc/ui/ — un fichier par panneau (top_bar, left_panel, ida_view, graph_view, pseudo_view, right_panel, cpu_panel, bottom_panel, status_bar, dialogs)src/widgets/ — petits éléments partagés (nav_band, splitter)src/core/ — pas d'ui : chargeurs (binary, pe, elf), disasm (capstone), analysis, database, decompiler, lua_host, debugger (win32) + debugger_linux (ptrace), ossrc/cli/ — ceasta-cli et le débogueur terminal dbgplugins/ — les plugins lua fournis avecdocs/ — le guide lua, le changelog, les licences tierces, les captures d'écraninstaller/ — script inno setup et packagingthird_party/ — imgui, capstone (x86 uniquement), lua 5.4ceasta est sous GPLv3. les bibliothèques embarquées conservent leurs propres licences (permissives) — dear imgui et lua sont sous MIT, capstone sous BSD ; détails dans docs/THIRD_PARTY_NOTICES.md.