¿Qué es un buen descompilador de C? [closed]

3 minutos de lectura

Avatar de usuario de Sec
Segundo

Estoy buscando un descompilador para un programa en 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 a partir de la fuente asm.

Secundando rayos hexagonales, pero si no puede justificar ese costo, Bumerang Podría funcionar.

  • Lo probé con algunos binarios de Windows y Boomerang acaba de descompilar uno pequeño. Los otros colapsaron este descompilador.

    – Jader Días

    31 de enero de 2012 a las 11:50

  • Gran cantidad de dependencias de libqt, no solo core y gui, sino también dev. Considera esto.

    – Mustafá

    10 de abril de 2013 a las 14:23

  • @CodyBrocious: Pidió programas de Linux.

    – usuario2284570

    29 de noviembre de 2015 a las 16:41

  • Pero tenga en cuenta que boomerang no descompila el binario AMD x86_64….

    – recolico

    14 de marzo de 2018 a las 14:16

Si tienes dinero de sobra, Descompilador de rayos hexagonales podría valer la pena. 🙂

  • Cualquier idea para este caso ?

    – usuario2284570

    29 de noviembre de 2015 a las 16:39

  • La licencia de Hopper es una fracción del costo más barata y prácticamente hace un trabajo bueno/comparable.

    – Rui F. Ribeiro

    21 de enero de 2018 a las 14:38

Avatar de usuario de GelosSnake
GelosSerpiente

A pesar de que IDA puede ser útil, cuesta bastante dinero. No estoy seguro acerca de su caso de uso específico, pero Plasmaparece que funcionaría “Plasma es un desensamblador interactivo para x86/ARM/MIPS. Puede generar pseudocódigo sangrado con sintaxis coloreada”.

Si está buscando algo más similar a IDA, lo recomiendo encarecidamente. 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 ninja binario y aunque todavía no está ni cerca de las capacidades de IDA o Radare, es una utilidad barata y buena para empezar.

Actualización: desde este comentario, la NSA ha publicado ghidra que es completamente de código abierto y gratuito. Es un marco RE de promesas completas con un descompilador de alta gama.

Avatar de usuario de Rui F Ribeiro
Rui F Ribeiro

Para la descompilación binaria he comprado 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 de descompilador similar a C razonable;
  • descompila 32 bits y binarios de 64 bits;
  • admite binarios Mach-O (Mac e iOS), PE32/32+/64 binarios de Windows y binarios ELF;
  • tiene actualizaciones gratuitas muy regulares;
  • el precio de la licencia de alrededor de 100 USD es inmejorable.

En mi opinión, la relación costo/calidad supera con bastante facilidad a IDA/Hex-rays, y deja atrás a los demás descompiladores comerciales (o gratuitos).

Además, puede probarlo o usar la versión de demostración para familiarizarse con él y descompilar (muy) pequeños ejecutables de forma gratuita.

Tolva

A partir de ahora (marzo/2019), como alternativa, también tienes ghidrade la NSA. Ghidra se ejecuta en Linux, Mac y Windows siempre que esté instalado JDK 11. Se presenta “como una herramienta gratuita equiparable a X/Rays”.

ghidra

Ghidra se siente más poderoso, sin embargo, Hopper aún parece más intuitivo.

Ver también: Blog de PepperMalware: análisis rápido de una muestra de Trickbot con el marco Ghidra SRE de la NSA

Muñeco de nieve (http://derevenets.com) se ve bien. El código generado es un desastre, pero funciona.

¿Ha sido útil esta solución?