Implementación del método de ingeniería inversa

Existen muchas formas de implementar la ingeniería inversa de software, existen tres métodos principales:

1. Analizar las observaciones obtenidas a través del intercambio de información.

Se utiliza más comúnmente para ingeniería inversa de protocolos, lo que implica el uso de analizadores de bus y rastreadores de paquetes. Después de acceder a un bus de computadora o a una conexión de red e interceptar con éxito los datos de comunicación, se puede analizar el comportamiento del bus o de la red para crear una implementación de comunicación con el mismo comportamiento. Este método es particularmente adecuado para la ingeniería inversa de controladores de dispositivos. A veces, las herramientas especialmente diseñadas por el fabricante del hardware, como los puertos JTAG o diversas herramientas de depuración, también ayudan en la ingeniería inversa de los sistemas integrados. Para los sistemas Microsoft Windows, el popular depurador de bajo nivel es SoftICE.

2. Desensamblado, es decir, utilizar un desensamblador para traducir el código máquina original del programa a código ensamblador que sea más fácil de leer y comprender. Esto se aplica a cualquier programa de computadora y es especialmente útil para personas que no están familiarizadas con el código de máquina. Las herramientas relacionadas populares incluyen OllyDebug e IDA.

3. Descompilar, es decir, utilizar un descompilador para intentar reproducir el código fuente en forma de lenguaje de alto nivel a partir del código máquina o código de bytes del programa.

l>