stringtranslate.com

Desensamblador interactivo

El Interactive Disassembler ( IDA ) es un desensamblador de software informático que genera código fuente en lenguaje ensamblador a partir de código ejecutable por máquina . Admite una variedad de formatos ejecutables para diferentes procesadores y sistemas operativos . También se puede utilizar como depurador de ejecutables de Windows PE , Mac OS X Mach-O y Linux ELF . Un complemento descompilador , que genera una representación similar al código fuente C de alto nivel del programa analizado, está disponible por un costo adicional. [4] [5]

IDA se utiliza ampliamente en ingeniería inversa de software , incluso para análisis de malware [6] [7] e investigación de vulnerabilidades de software . [8] Se ha hecho referencia al IDA como el "desensamblador estándar de facto de la industria". [9] [10] [11] [12]

Historia

Ilfak Guilfanov comenzó a trabajar en IDA en 1990, [13] [14] [15] [16] y lo distribuyó inicialmente como una aplicación shareware . En 1996, la empresa belga DataRescue se hizo cargo del desarrollo de IDA y comenzó a venderlo como producto comercial, bajo el nombre de IDA Pro. [17] [18]

Las versiones iniciales de IDA no tenían una interfaz gráfica de usuario (GUI) y se ejecutaban como una aplicación de consola extendida para DOS , OS/2 o Windows . [19] En 1999, DataRescue lanzó la primera versión de IDA Pro con una GUI, IDA Pro 4.0. [20]

En 2005, Guilfanov fundó Hex-Rays para continuar con el desarrollo de la extensión IDA de Hex-Rays Decompiler. [21] [22] En enero de 2008, Hex-Rays asumió el desarrollo y soporte de IDA Pro de DataRescue. [23] [24]

En 2022, Hex-Rays fue adquirida por Smartfin, un inversor europeo de capital riesgo y capital privado . [25] [26]

Características

IDA desensambla un programa compilado nuevamente en una representación en lenguaje ensamblador. Además de realizar un desmontaje básico, IDA también anota automáticamente los programas desensamblados con información sobre: ​​[27]

Sin embargo, la naturaleza del desmontaje impide una precisión total y necesariamente se requiere una gran intervención humana; IDA tiene una funcionalidad interactiva para ayudar a mejorar el desmontaje. Un usuario típico de IDA comenzará con una lista desensamblada generada automáticamente y luego convertirá secciones de código a datos y viceversa, cambiará el nombre, anotará y agregará información a la lista, hasta que su funcionalidad quede clara.

secuencias de comandos

Los "scripts IDC" permiten ampliar el funcionamiento del desensamblador. Se proporcionan algunos guiones útiles, que pueden servir como base para los guiones escritos por el usuario. Con mayor frecuencia, los scripts se utilizan para modificaciones adicionales del código generado. Por ejemplo, se pueden cargar tablas de símbolos externas utilizando los nombres de funciones del código fuente original.

Los usuarios han creado complementos que permiten utilizar otros lenguajes de secuencias de comandos comunes en lugar de IDC o además de él. IdaRUB [28] admite Ruby e IDAPython [29] agrega soporte para Python . A partir de la versión 5.4, IDAPython (dependiente de Python 2.5) viene preinstalado con IDA Pro.

Depuración

IDA Pro admite varios depuradores, [30] que incluyen:

Versiones

La última versión completa de IDA Pro es comercial (versión 8.4 a junio de 2024), mientras que una versión menos potente, denominada IDA Free, está disponible para descargar de forma gratuita. [31]

Sistemas/procesadores/compiladores compatibles

Logo

El logotipo de IDA Pro es una imagen recortada de Françoise d'Aubigné, marquesa de Maintenon . La imagen del logotipo es similar a una pintura en miniatura de Françoise d'Aubigné atestiguada por un pintor del círculo de Pierre Mignard . [33]

La versión original en escala de grises del logotipo se introdujo en septiembre de 1999, con el lanzamiento de IDA 4.0. [15] Ilfak Guilfanov ha declarado que el logotipo no es una representación de Santa Ida de Lovaina . [34]

Ver también

Referencias

  1. ^ Czokow, Geoffrey (20 de mayo de 2021). "IDA: celebrando 30 años de innovación en análisis binario". Rayos hexagonales . Consultado el 19 de marzo de 2023 .
  2. ^ "IDA 8.4.240527 (8.4sp2)". Archivado desde el original el 2 de junio de 2024 . Consultado el 28 de junio de 2024 .
  3. ^ "Inicio de rayos hexagonales". Archivado desde el original el 26 de mayo de 2024 . Consultado el 31 de marzo de 2008 .
  4. ^ Águila, Chris (2011). "Capítulo 23: Complementos IDA del mundo real". El libro IDA Pro: la guía no oficial del desensamblador más popular del mundo (2ª ed.). San Francisco: No Starch Press. págs. 500–502. ISBN 978-1-59327-395-8. OCLC  830164382.
  5. ^ "Descompilador de rayos hexagonales". hex-rays.com . Consultado el 18 de marzo de 2023 .
  6. ^ Personal, SC (11 de septiembre de 2017). "Hex-Rays IDA Pro". Medios SC . Consultado el 13 de marzo de 2023 .
  7. ^ Sikorski, Michael (2012). "Capítulo 5. IDA Pro". Análisis práctico de malware: una guía práctica para analizar software malicioso. Andrés Honig. San Francisco: No Starch Press. ISBN 978-1-59327-430-6. OCLC  830164262.
  8. ^ Shoshitaishvili, Yan; Wang, Ruoyu; Salls, Cristóbal; Stephens, Nick; Polino, Mario; Holandés, Andrew; Grosen, Juan; Feng, Siji; Hauser, Christophe; Kruegel, Christopher; Vigna, Giovanni (22 de mayo de 2016). "SOK: (Estado del) arte de la guerra: técnicas ofensivas en análisis binario". Simposio IEEE 2016 sobre seguridad y privacidad (SP) . págs. 138-157. doi :10.1109/SP.2016.17. hdl :11311/1161277. ISBN 978-1-5090-0824-7. S2CID  3337994. Archivado desde el original el 8 de diciembre de 2022 . Consultado el 17 de marzo de 2023 .
  9. ^ Ben Khadra, M. Ammar; Stoffel, Dominik; Kunz, Wolfgang (1 de octubre de 2016). "Desmontaje especulativo de código binario". Actas de la Conferencia Internacional sobre Compiladores, Arquitecturas y Síntesis para Sistemas Embebidos . CASOS '16. Nueva York, NY, EE.UU.: Asociación de Maquinaria de Computación. págs. 1–10. doi :10.1145/2968455.2968505. ISBN 978-1-4503-4482-1. S2CID  16206393. Supera a IDA Pro, el desensamblador estándar de facto de la industria, en términos de corrección del desmontaje.
  10. ^ Di Federico, Alejandro; Pagador, Mathías; Agosta, Giovanni (5 de febrero de 2017). "Rev.ng: un marco de análisis binario unificado para recuperar CFGS y límites de funciones". Actas de la 26ª Conferencia Internacional sobre Construcción de Compiladores . CC 2017. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 131-141. doi :10.1145/3033019.3033028. ISBN 978-1-4503-5233-8. S2CID  15830760. Evaluamos la implementación de nuestro prototipo frente al estándar industrial de facto para análisis binario estático, IDA Pro,
  11. ^ García Prado, Carlos; Erickson, Jon (10 de abril de 2018). "Resolución de problemas ad hoc con la API Hex-Rays". Blog de investigación de amenazas de FireEye . Archivado desde el original el 2022-06-02 . Consultado el 12 de marzo de 2023 . IDA Pro es el estándar de facto cuando se trata de ingeniería inversa binaria.
  12. ^ Andriesse, Dennis (2019). "Apéndice C: Lista de herramientas de análisis binario". Análisis binario práctico: cree sus propias herramientas Linux para instrumentación, análisis y desmontaje binarios. San Francisco, CA. ISBN 978-1-59327-913-4. OCLC  1050453850. Este [IDA Pro] es el desensamblador recursivo estándar de facto de la industria.{{cite book}}: Mantenimiento CS1: falta el editor de la ubicación ( enlace )
  13. ^ Гильфанов, Ильфак (22 de mayo de 2003). "IDA Pro - samyj moshhnyj dizassembler v mire" IDA Pro - самый мощный дизассемблер в мире [IDA Pro - el desensamblador más poderoso del mundo] (Entrevista) (en ruso). Entrevistado por Доля, Алексей. Compañía "Ф-Центр". segundo. 2.30. Archivado desde el original el 15 de mayo de 2021 . Consultado el 14 de marzo de 2023 . En el inicio de un trabajo de 1991, hubo muchos trabajos para septiembre y para dos.
  14. ^ "IDA Pro - Часто задаваемые вопросы". Archivado desde el original el 19 de diciembre de 2003. Первые строки для IDA были написаны в декабре 1990.
  15. ^ ab Czokow, Geoffrey (20 de mayo de 2021). "IDA: celebrando 30 años de innovación en análisis binario". Rayos hexagonales . Consultado el 19 de marzo de 2023 .
  16. ^ "Hex Rays: soluciones de análisis de código binario de última generación". hex-rays.com . Archivado desde el original el 31 de mayo de 2023 . Consultado el 21 de julio de 2023 .
  17. ^ Guilfanov, Ilfak, CODE BLUE 2014: Ilfak Guilfanov - Keynote: La historia de IDA Pro , consultado el 16 de marzo de 2023 , Datarescue convirtió mi proyecto de pasatiempo en un programa comercial en 1996.
  18. ^ "Página de DataRescue IDA Pro". Rescate de datos . Archivado desde el original el 14 de febrero de 1997.
  19. ^ "Página DataRescue IDA: descargue una versión de evaluación". Rescate de datos . Archivado desde el original el 14 de febrero de 1997.
  20. ^ "Página de novedades de DataRescue IDA Pro". Rescate de datos . Archivado desde el original el 10 de octubre de 1999.
  21. ^ "Gegevens van de geregistreerde entiteit | Búsqueda pública de KBO". kbopub.economie.fgov.be . Consultado el 13 de marzo de 2023 .
  22. ^ "Descompilador de rayos hexagonales". Rayos hexagonales . Archivado desde el original el 11 de octubre de 2007.
  23. ^ "Página de inicio de DataRescue: hogar de IDA Pro Disassembler y de PhotoRescue". Rescate de datos . Archivado desde el original el 21 de febrero de 2008. Noticias 01/07/2008: IDA Pro pasa a Hex-Rays.
  24. ^ "Página de inicio de Hex-Rays". Rayos hexagonales . Archivado desde el original el 12 de febrero de 2008.
  25. ^ "Un consorcio de inversores adquiere Hex-Rays - Hex Rays". Archivado desde el original el 21 de julio de 2023 . Consultado el 21 de julio de 2023 .
  26. ^ "Industria de noticias | El consorcio liderado por Smartfin adquiere Hex-Rays para acelerar los esfuerzos de innovación de productos". Ayuda a la seguridad de la red . 2022-10-20. Archivado desde el original el 21 de julio de 2023 . Consultado el 21 de julio de 2023 .
  27. ^ Águila, Chris (2011). "Parte II. Uso básico de IDA". El libro IDA Pro: la guía no oficial del desensamblador más popular del mundo (2ª ed.). San Francisco: No Starch Press. ISBN 978-1-59327-395-8. OCLC  830164382.
  28. ^ "Copia archivada". Archivado desde el original el 8 de enero de 2016 . Consultado el 5 de diciembre de 2011 .{{cite web}}: Mantenimiento CS1: copia archivada como título ( enlace )
  29. ^ "Idapython [d-dome.net]". Archivado desde el original el 16 de enero de 2006.
  30. ^ Águila, Chris (2008). El libro IDA Pro: la guía no oficial del desensamblador más popular del mundo . Sin prensa de almidón . ISBN 978-1-59327-178-7.
  31. ^ "Descarga de la versión gratuita de IDA Pro". Archivado desde el original el 8 de agosto de 2008 . Consultado el 31 de marzo de 2008 .
  32. ^ "Soporte del compilador FLIRT". Rayos hexagonales . Archivado desde el original el 3 de octubre de 2011 . Consultado el 13 de abril de 2010 .
  33. ^ "Französische Schule, Nachfolge Pierre Mignard - Osterauktion 17.04.2019 - Schätzwert: 1.500 EUR a 2.600 EUR - Dorotheum". www.dorotheum.com (en alemán austriaco). Archivado desde el original el 14 de agosto de 2023 . Consultado el 8 de julio de 2024 .
  34. ^ Guilfanov, Ilfak (13 de abril de 2006). "Sainte Ida | Blog hexagonal". Blog hexagonal . Archivado desde el original el 17 de junio de 2011 . Consultado el 8 de julio de 2024 .

Otras lecturas

enlaces externos