¿Alguien sabe cómo obtener pseudocódigo para x86-64 en IDA Pro? Ya probé el complemento Hex-Rays para obtener el pseudocódigo, pero cuando lo intento, aparece el siguiente error: «solo se admite el código de 32 bits».

Comentarios

  • bueno, ¿qué tipo de binario tienes? x86, x86_64, ARM …?

Respuesta

Las otras dos respuestas aquí están desactualizadas.

Desde el sitio web de hex-rays, en la página sobre el descompilador de hex-rays:

Actualmente, el descompilador admite el código generado por el compilador para los procesadores x86, x64, ARM32, ARM64 y PowerPC. Planeamos portarlo a otras plataformas y agregar una API programática. Esto permitirá a nuestros clientes implementar sus propios métodos de análisis. La búsqueda de vulnerabilidades, la validación de software y el análisis de cobertura son las direcciones que vienen a la mente de inmediato.

El 04/06/2014, con el lanzamiento de IDA 6.6 hex -rays lanzó oficialmente su descompilador x86 de 64 bits, y ha sido mejorado constantemente desde entonces. El lanzamiento oficial se puede ver en la página de IDA 6.6 como la primera característica nueva, así como en su changelog .

Es un producto separado y se vende aparte de su descompilador x86 de 32 bits, y actualmente se cotiza al mismo precio que los otros descompiladores (ver cotizaciones de precios página para licencias con nombre).

Más de dos años después del primer lanzamiento, el descompilador tiene todas las funciones y se considera de alta calidad.

Dos imágenes de usar el desmontaje y descompilación de 64 bits x86 de IDA (de la página IDA 6.6 de hex-ray):

Desmontaje de ejemplo de IDA 6.6
(fuente: hex-rays.com )

Ejemplo de descompilación IDA 6.6

Otras soluciones

Sin embargo, existen otras soluciones que proporcionan un complemento IDA para la descompilación. Aunque no es precisamente lo que estaba buscando, ofrecen otra forma posible de lograr su objetivo deseado:

  1. Snowman , un -descompilador soplado con un complemento IDA
  2. un complemento para AVG «s Decompilador retardable en línea decompilador ( mencionado por @ws)
  3. Un complemento de descompilador IDA solo en Python llamado ida-decompiler ( mencionado por @ 0xea)

Comentarios

  • También hay un complemento de retdec.com/idaplugin . Es compatible con Intel x86, ARM, ARM + Thumb, MIPS, PIC32, PowerPC en ELF, PE , COFF, AR (archivo) e Intel HEX. Tenga en cuenta que el proceso de descompilación ocurre en su servidor, no localmente.

Respuesta

Hasta donde yo sé, el complemento IDA Hex-ray solo admite la descompilación x86 y ARM (si tiene un licencia para ARM). No funciona en x86_64.

Sin embargo, si necesita algo que funcione en x86_64, eche un vistazo a ida-decompiler :

Un complemento IDA que intenta descompilar una función. Escrito en Python. Para probarlo en IDA, coloque el cursor en una función y ejecute el complemento . La función descompilada aparecerá en la ventana de salida.

Obviamente, no es tan avanzado como Hex-Rays, pero es un buen paso hacia un buen descompilador abierto.

Comentarios

  • Esto era correcto en el momento de redactar este documento, pero ya no lo es. Por favor, eche un vistazo a mi respuesta .

Responder

Si absolutamente quiere un pseudocódigo y no tiene suerte con IDA Pro, puede quiero probar la versión de demostración de hopper : puede generar pseudocódigo para x86, x86-64 y ARM.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *