web-dev-qa-db-fra.com

Qu'est-ce qu'un bon décompilateur C?

Je cherche un décompilateur pour un programme C. Le binaire est un exécutable Linux x86 32 bits. Objdump fonctionne bien, donc je cherche fondamentalement quelque chose qui tente de reconstruire la source C à partir de la source asm.

91
Sec

Soutenir les rayons Hex, mais si vous ne pouvez pas justifier ce coût, Boomerang pourrait fonctionner.

60
Cody Brocious

Si vous avez de l'argent à dépenser, Hex-Rays Decompiler pourrait en valoir la peine. :-)

20
Chris Jester-Young

Même si IDA peut être utile, cela coûte beaucoup d’argent. Vous n'êtes pas sûr de votre cas d'utilisation spécifique mais Plasma semble faire l'affaire "Plasma est un désassembleur interactif pour x86/ARM/MIPS. Il peut générer un pseudo-code avec une syntaxe colorée."

Si vous cherchez quelque chose de plus semblable à IDA, je vous recommande fortement Radare2 . Il y a aussi ODA le dissembleur en ligne au cas où vous ne voudriez rien installer.

Une nouvelle addition est Binary Ninja et bien que cela ne soit pas encore proche des capacités de IDA ou de Radare, c'est un utilitaire bon marché et bon pour les débutants.

Mise à jour: Depuis ce commentaire, le NSA a publié Ghidra , qui est entièrement open source et gratuit. Il s’agit d’un framework RE à promesses complètes avec décompilateur haut de gamme.

10
GelosSnake

Pour la décompilation binaire, j'ai acheté une licence personnelle de Hopper https://www.hopperapp.com .

Les avantages sont:

  • a une interface graphique intuitive et bien pensée;
  • fonctionne sous MacOS et Linux;
  • fournit une sortie de décompilateur raisonnable de type C;
  • décompile les fichiers binaires 32 bits et 64 bits;
  • prend en charge les fichiers binaires Mach-O (Mac et iOS), les fichiers binaires Windows PE32/32 +/64 et les fichiers binaires ELF;
  • a des mises à jour gratuites très régulières;
  • le prix de la licence, autour de 100 USD, est imbattable.

OMI, le rapport coût/qualité bat assez facilement les rayons IDA/Hex, et laisse dans la poussière les autres décompileurs commerciaux (ou gratuits).

De plus, vous pouvez l'essayer ou utiliser la version de démonstration pour vous en faire une idée et décompiler (très) de petits exécutables gratuitement.

Hopper

À partir de maintenant (mars/2019), au lieu de cela, vous avez également Ghidra de la NSA. Ghidra fonctionne sous Linux, Mac et Windows tant que JDK 11 est installé. Il est présenté "comme un outil gratuit comparable aux rayons X".

Ghidra

Ghidra se sent plus puissant, mais Hopper semble toujours plus intuitif.

Voir aussi: PepperMalware Blog - Analyse rapide d'un échantillon Trickbot avec le framework Ghidra SRE de la NSA

8
Rui F Ribeiro

Snowman ( http://derevenets.com ) a l'air sympa. Le code généré est un désordre, mais fonctionne.

4
Corey Kennedy