
Herramienta de instrumentación binaria estática que extrae archivos objeto COFF de ejecutables, permitiendo la inserción de código/datos en cualquier ubicación para fuzzing de caja negra y parcheo binario mediante IDA Pro.
IDA2Obj es una herramienta para implementar SBI (Instrumentación Binaria Estática).
El flujo de trabajo es simple:
Preparar el entorno:
AUTOIMPORT_COMPAT_IDA695 = YES en el archivo idapython.cfg para soportar la API con el estilo antiguo de IDA 6.x.pip install coughCrear una carpeta como espacio de trabajo.
Copiar el binario objetivo que deseas fuzzing en el espacio de trabajo.
Cargar el binario en IDA Pro, elegir Cargar recursos y cargar manualmente para cargar todos los segmentos del binario.
Esperar a que finalice el análisis automático.
Volcar archivos objeto ejecutando el script MagicIDA/main.py.
${workspace}/${module}/objs/afl.TRACE_MODE dentro del espacio de trabajo, los archivos objeto de salida estarán dentro de ${workspace}/${module}/objs/trace.${workspace}/${module}:
Generar archivos lib ejecutando el script utils/LibImports.py.
${workspace}/${module}/libs, usados para enlazar más tarde.Abrir una terminal y cambiar el directorio al espacio de trabajo.
Enlazar todos los archivos objeto y archivos lib usando utils/link.bat.
utils/link.bat GdiPlus dll afl /RELEASE${workspace}/${module}.Parchar el nuevo binario generado usando utils/PatchPEHeader.py.
utils/PatchPEHeader.py GdiPlus/GdiPlus.afl.dllutils/register_msdia_run_as_administrator.bat como administrador.Ejecutar y Fuzz.