
Complemento de IDA para la detección automatizada de código ofuscado y aplanamiento del flujo de control en binarios mediante análisis heurístico y visualización del árbol de dominancia.
Autor: mcdulltii
Detecta automáticamente código ofuscado y otras máquinas de estado
Scripts para detectar automáticamente código ofuscado y máquinas de estado en binarios.
La implementación se basa en IDA 7.4+ (Python3). Consulte las siguientes entradas de blog para más información sobre la implementación en Binary Ninja:
Los valores heurísticos se generan basándose en las entradas de blog anteriores, y se ordenan (cuando se ejecuta en modo All Functions) de arriba a abajo según sus complejidades heurísticas.
Debido a la naturaleza recursiva de trazar un árbol de dominancia de cada función encontrada dentro del binario, la implementación y la sobrecarga en tiempo de ejecución son costosas, aunque se ha implementado el uso de hilos.
Usando PyQt para visualizar el plugin, los usuarios pueden personalizar aún más el análisis de funciones heurísticas en el binario.
PyQt5
Copie el directorio obfDetect y obfDetect.py al directorio IDA Plugins.
Cuando IDA haya terminado de cargar un binario correctamente, el script imprimirá su banner en la consola IDC/Python.
El script se puede ejecutar desde la barra de herramientas File como se muestra a continuación. Alternativamente, Ctrl-Shift-H.

Los nombres de funciones en la tabla de resultados se pueden renombrar usando n, y así actualizarán los nombres de funciones de IDA especificados por su dirección de función
El cuadro de entrada de nombre de archivo de exportación, al hacer clic, abrirá una ventana emergente de selección de archivo que se puede navegar a una ubicación de guardado personalizada
Run para iniciar el análisisExport filename para seleccionar la ubicación de exportación, y hacer clic en el botón Export para exportar la tabla a formato csv

