
Utilitários para IDA Pro da equipe FLARE
O Code Grafter é um script IDA Python que torna possível usar o Bochs IDB Mode do IDA Pro para emular código que importa funções da API do Windows. Ambientes de emulação como o Bochs IDB mode não resolvem ou emulam funções importadas, resultando em exceções e incapacidade de usar emulação com certos códigos. O Code Grafter resolve isso para um subconjunto de funções da API do Windows inserindo opcodes e dados para implementar um pequeno subconjunto de funções importadas da API do Windows. O Code Grafter tem como alvo funções com implementações triviais que são comumente associadas à decodificação de strings e descompactação de malware. Poder usar o Bochs IDB Mode em particular com esses tipos de código permite a decodificação casual de strings e descompactação/dump de payloads sem ter que lidar com preocupações como engenharia reversa anti-reversão, depuração de subprocessos, etc.
O arquivo function_replacements.c contém implementações compactas em C de
várias funções associadas a rotinas simples de decodificação de strings e descompactação de malware. Ele é fornecido para referência.
Após compilar function_replacements.c, os opcodes de função relevantes foram
extraídos usando emit_fnbytes_python() de mykutils.py (localizado em
/python/flare no repositório flare-ida). Os opcodes foram então adicionados como
strings Python a uma biblioteca de implementações de funções em code_grafter.py
(também em /python/flare).