¿Qué es un buen decomstackdor de C?

Estoy buscando un decomstackdor para un progtwig C. El binario es un ejecutable Linux x86 de 32 bits. Objdump funciona bien, así que básicamente estoy buscando algo que intente reconstruir la fuente C de la fuente asm.

Apoyar los rayos Hex, pero si no puede justificar ese costo, Boomerang podría funcionar.

Si tiene dinero de sobra, Hex-Rays Decompiler podría valer la pena. 🙂

Por mucho que IDA pueda ser útil, cuesta bastante dinero. No estoy seguro acerca de su caso de uso específico, pero parece que Plasma haría el truco “Plasma es un desensamblador interactivo para x86 / ARM / MIPS. Puede generar pseudocódigo indentado con syntax coloreada”.

Si está buscando algo más similar a IDA, recomiendo ampliamente Radare2 . También hay ODA, el desensamblador en línea en caso de que no tenga ganas de instalar nada.

Una nueva adición es Binary Ninja y aunque aún no está cerca de las capacidades de IDA o Radare, es una herramienta barata y buena para los principiantes.

Para la descomstackción binaria, compré una licencia personal de Hopper https://www.hopperapp.com .

Las ventajas son:

  • tiene una interfaz gráfica intuitiva y bien pensada;
  • se ejecuta en MacOS y Linux;
  • proporciona una salida razonable del descomstackdor tipo C;
  • entiende los binarios de Windows, Linux y Mac;
  • descomstack binarios de 32 bits y 64 bits;
  • el precio de la licencia en alrededor de 100 dólares no puede ser superado.

OMI, la relación costo / calidad supera bastante fácilmente a los rayos Hex, y deja en el polvo a los otros descomstackdores comerciales (o gratuitos).

Además, puede probarlo o usar la versión demo para tener una idea y descomstackr (muy) pequeños ejecutables de forma gratuita.

enter image description here

Snowman ( http://derevenets.com ) se ve bien. El código generado es un desastre, pero funciona.