
Utilidades de IDA Pro del equipo FLARE
Code Grafter es un script de IDA Python que permite usar el Modo Bochs IDB de IDA Pro para emular código que importa funciones de la API de Windows. Los entornos de emulación como el modo Bochs IDB no resuelven ni emulan funciones importadas, lo que resulta en excepciones y la imposibilidad de usar la emulación con cierto código. Code Grafter resuelve esto para un subconjunto de funciones de la API de Windows insertando opcodes y datos para implementar un pequeño subconjunto de funciones importadas de la API de Windows. Code Grafter apunta a funciones con implementaciones triviales que comúnmente se asocian con la decodificación de cadenas y el desempaquetado de malware. Poder usar el Modo Bochs IDB en particular con este tipo de código permite la decodificación casual de cadenas y el desempaquetado/volcado de payloads sin tener que abordar preocupaciones como la ingeniería inversa anti-reverse, la depuración de subprocesos, etc.
El archivo function_replacements.c contiene implementaciones compactas en C de
varias funciones asociadas con rutinas simples de decodificación de cadenas y desempaquetado
de malware. Se proporciona como referencia.
Después de compilar function_replacements.c, los opcodes de las funciones relevantes se
extrajeron usando emit_fnbytes_python() de mykutils.py (ubicado bajo
/python/flare en el repositorio flare-ida). Luego, los opcodes se agregaron como
cadenas de Python a una biblioteca de implementaciones de funciones en code_grafter.py
(también en /python/flare).