Las mejores herramientas de software de ingeniería inversa y cómo usarlas

 

Las mejores herramientas de software de ingenieria inversa y como - Las mejores herramientas de software de ingeniería inversa y cómo usarlas

Si se ha estado preguntando acerca de todas las herramientas principales que utiliza un software moderno inverso, está de suerte porque este artículo las repasará.

Por lo tanto, si está familiarizado con los principios de interacción de red, el lenguaje ensamblador y tiene algún nivel de experiencia relacionada con la programación de Windows usando funciones de API, debería seguir leyendo.

Comprensión de la necesidad de herramientas de software de ingeniería inversa.

Hay innumerables aplicaciones de software en el tipo de mundo en el que vivimos, y cada día se crean nuevas. Además, la mayoría de ellos tienen su código fuente oculto, lo que conduce a más trabajo al tratar de comprender los detalles, algoritmos, etc. de dicho software. Aquí es también donde entran las herramientas de ingeniería inversa de software.

Hay muchas herramientas de este tipo para elegir y tratar de coronar a una de las mejores puede ser bastante difícil. Repasemos las aplicaciones que también se utilizan con frecuencia.

Herramientas de software de ingeniería inversa.

1. IDA-Pro, Hex-Rays.

Es un desensamblador interactivo y tiene un lenguaje de comando incorporado o IDC. También es compatible con una variedad de ejecutables, sistemas operativos y más. Puede utilizar esta herramienta para crear diagramas, cambiar los nombres de los marcadores y hacer mucho más. Un código de ensamblador se puede descompilar a través del complemento Hex-Rays Decompiler.

2. CFF Explorer.

Este incluye el editor de recursos, el editor PE y HEX, el escáner de firmas, el editor de importación, el conversor de direcciones, un desensamblador y un analizador de dependencias.

3. Monitor API.

Intercepta llamadas a funciones API y también puede mostrar datos de entrada y salida.

3. WinHex.

Puede mostrar códigos de archivos de software, algo que un editor de texto simple no puede hacer.

4. Hiew.

Este es un editor de archivos binarios que se enfoca en trabajar usando código. También cuenta con un desensamblador incorporado. Puede usarlo para ver y editar unidades lógicas y físicas. También tiene herramientas para crear complementos personalizados.

5. Fiddler.

Este es un proxy que opera con tráfico entre un servidor remoto y la computadora. Puede funcionar tanto con HTTPS como con HTTP.

6. Scylla.

Le permite dejar un proceso de solicitud en ejecución. Puede restaurar una tabla de importación y ejecutar la aplicación.

7. Editor de la sección de reubicación.

Éste le ayuda a eliminar los valores de la tabla Relocation.

8. PEiD.

Se considera una de las mejores herramientas para detectar el empaquetador.

¿Cómo utilizar herramientas de software de ingeniería inversa?

Repasemos cómo usar algunas de las herramientas de ingeniería inversa de software que se mencionaron.

1. Uso de IDA-Pro para abrir ejecutable investigado.

Después de descargar una aplicación de prueba a IDA Pro, presione ‘Aceptar’. Verá que la tabla de importación está casi vacía. Si cree que la aplicación está empaquetada, puede usar PEiD para ayudar a detectar el empaquetador utilizado.

2. Uso de PEiD para la información del empaquetador.

Cargue la aplicación y considere ejecutar un escaneo yendo a Opciones y eligiendo ‘Escaneo extremo’. Ahora, seleccione la carpeta que contiene la aplicación en la que está trabajando. Esto le mostrará el empaquetador que se utilizó.

3. Uso de CFF Explore para desembalar.

Vaya a la página de utilidades de UPX y simplemente presione el botón ‘Desempaquetar’. Una vez hecho esto, puede cargar la aplicación en IDA Pro para restaurar el código ensamblador. Descárguelo de nuevo en IDA Pro. Acepte cuando se le pregunte si se deben cargar los símbolos del servidor.

Podrás ver el código, una tabla de importación y algunas funciones en la aplicación. Ahora, con IDA Pro, ejecute y depure la aplicación seleccionando Depurador> Seleccionar depurador> Depurador local de Win32> F9.

Es hora de que se deshaga del hecho de cómo la aplicación detectó un depurador. Haga clic en el proceso de NtQueryInformation para obtener una lista de funciones de xref. Haga clic en él para ver el tercer parámetro que es para salida. Si es igual a 1, significa que el depurador está adjunto a la aplicación. Sin embargo, es igual a 0, lo que significa que la aplicación no tiene un depurador adjunto.

3. Modificación de sentencias ejecutadas en Hiew.

Deberá cargar la aplicación y considerar cambiar al modo de decodificación. Puede ingresar al modo de edición presionando F3 seguido de F2. Puede presionar F9 para guardar la aplicación.

4. Eliminar el valor de una tabla de reubicación mediante un editor de sección de reubicación.

Si se produce un bloqueo después de usar un Editor de sección de reubicación, deberá usar CFF Explorer.

5. Modificar el valor de una tabla de reubicación usando un CFF Explorer.

Simplemente abra la aplicación en CFF Explorer y reemplace el valor requerido.

6. Monitor API.

Puede utilizar API Monitor para supervisar una serie de funciones. También puede continuar y agregar funciones si lo prefiere. API Monitor lo ayudará a ver los parámetros que se pasaron a dicha función.

7. Uso de WinHex para la detección.

Se recomienda detectar el tipo de archivo binario antes de la exploración. Puede utilizar WinHex para hacerlo. Tenga en cuenta que la firma MZ en los desplazamientos cero corresponde a los archivos de formato PE. Por eso es un archivo exe o dll.

8. Usando Scylla.

Puede usar Scylla para crear un volcado de memoria de una aplicación empaquetada para ejecutarla. Debe abrir el archivo ejecutable empaquetado en IDA Pro. Utilice el comando ‘pusha’ para guardar registros de propósito general en la pila. También puede hacer un volcado de la aplicación y restaurar la tabla de importación abriendo Scylla sin cerrar IDA Pro. Elimine la tabla de reubicación si la aplicación falla.

Envolviendolo.

Como se mencionó, existen numerosas herramientas de ingeniería inversa de software disponibles. Siéntase libre de probarlos y ver cuáles le convienen mejor para codificar, desempacar y más.

Leave a Comment!