Los mejores programas de depuración (debugging) y desensambladores

 

Si te dedicas a esto de la infomática desde hace tiempo, sabrás que dominar el ensamblador implica dominar totalmente el ordenador. A veces la única forma de entender lo que realmente hace un programa es estudiar su código ensamblador, ya que de la mayoría puede que no tengas el código fuente en su lenguaje original. Otra de las grandes utilidades de usar estos programas es el análisis para la búsqueda de programas maliciosos o usarlos cómo herramientas para la ingeniería inversa.

Estas son algunas de las mejores herramientas para desemsamblar y hacer debugging de programas:

IDA PRo, es posiblemente el mejor de todos los desensambladores (tanto para Windows, Mac o para Linux) que existen en el mercado, ya que te permite usarlo que casi cualquier plataforma, IA-32, AMD64, etc ... Además soporta ficheros tipo ELF (de Linux), EXE, PE, e incluso XBE usado en la XBox. El único problema, es una aplicación comercial de pago (la versión estándar cuesta alrededor de 500€). De todas formas tienes una versión de prueba que merece la pena probarla para ver realmente el potencial de este fantástico debugger y desensamblador.

SoftICE, es un debugger en modo kernel que funciona en Windows diseñado para funcionar sin que Windows lo detecte, de esta forma puede monitorizar y parar todos los procesos de Windows en cualquier momento, lo que resulta perfecto para estudiar por ejemplo el funcionamiento de los drivers. El problema es que los desarrolladores han dejado de actualizarlo, así que no es difícil buscarlo por la red e incluso bajarte alguna versión completa gratuita. Por último indicar que esta aplicación era hace unos años una herramienta clásica usada para crackear programas.

Syser, sustituto del SoftICE ya que hereda prácticamente el mismo sistema, sistema de menú y funcionamiento que tenía SoftICE así como su espectacular rendimiento. Puedes bajarte una demostración desde aquí.

Rasta Ring 0 Debugger, es la versión gratuita alternativa a los que hemos comentado ya que es bastante parecido en su funcionalidad a los otros. Funciona bajo las plataformas, Win32/64, Linux, OpenBSD, NetBSD y FreeBSD. Puedes ver una presentación del producto aquí.

ILDasm, de Microsoft, es un desensamblador de código para el MSIL, como el lenguaje usado en el .NET. Puedes ver más información aquí. Esta herramienta es parte del Visual Studio Net.

OllyDBG, escrito por Oleh Yuschuk, es un gran debugger shareware (aunque es gratuita, según el autor es shareware sólo por razones de cpyright, puedes descargarlo aquí). Tracea registros del sistema, reconoce procedimientos, llamadas a API's, etc. Sólo está disponible para plataformas Windows 32bits. Es quizás la mejor opción para empezar por el potencial, el funcionamiento y porque es gratuito.

WinDBG, debugger oficial de Microsoft que puedes descargar gratuitamente aquí. Para más información sobre esta aplicación, mira en este enlace.

No dudes en hacernos saber si conoces algún otro software de este tipo.

Happy Hacking!