Compilador interactivo de C/C++

gccexplorere.png

Cuando haces ingeniería inversa a un binario (del cual no dispones del código fuente), no es sólo importante tener conocimientos de ensamblador, la pila, montículo (heap), registros, etc sino también es importante conocer los pequeños trucos y patrones que usa el compilador/es a la hora de generar el código binario.

¿Cómo se traduce una instrucción if? ¿y un switch? ¿bucles? ¿operaciones con punteros? ¿arrays? ¿construtores/destructores en C++? ¿Intel, ARM? etc

Todas esas preguntas y muchas más las puedes responder tú mismo de una forma fácil: GCC Explorer.

GCC Explorer es una aplicación web con una interfaz muy sencilla, que nos permite ver de forma inmediata la traducción a ensamblador de código C y C++.

En el panel de la izquierda podemos escribir nuestro código y en el de la derecha automáticamente se hace la traducción a ensamblador. De entre las distintas características de las que dispones, quizás la más útil sea la del coloreado de código, con la que podemos ver de una forma muy clara y sencilla la correspondencia entre nuestro código y su traducción a ensamblador.

Podemos también elegir entre distintos compiladores de C y C++ e incluso distintas arquitecturas como Intel o ARM.

También existe una versión para código escrito en lenguaje D.

Si te interesa echarle un vistazo al código fuente, lo tienes aquí.