
Utilità IDA Pro del team FLARE
Code Grafter è uno script IDA Python che consente di utilizzare la Modalità Bochs IDB di IDA Pro per emulare codice che importa funzioni API di Windows. Gli ambienti di emulazione come la modalità Bochs IDB non risolvono né emulano le funzioni importate, causando eccezioni e l'impossibilità di utilizzare l'emulazione con determinato codice. Code Grafter risolve questo problema per un sottoinsieme di funzioni API di Windows inserendo opcode e dati per implementare un piccolo sottoinsieme di funzioni API di Windows importate. Code Grafter prende di mira funzioni con implementazioni banali che sono comunemente associate alla decodifica di stringhe e all'unpacking di malware. Essere in grado di utilizzare la Modalità Bochs IDB in particolare con questi tipi di codice consente una decodifica informale delle stringhe e l'unpacking/dumping di payload senza dover affrontare preoccupazioni come l'anti-reverse engineering, il debugging di subprocess, ecc.
Il file function_replacements.c contiene implementazioni C compatte di diverse funzioni associate a semplici routine di decodifica di stringhe e unpacking di malware. Viene fornito come riferimento.
Dopo aver compilato function_replacements.c, gli opcode delle funzioni pertinenti sono stati estratti utilizzando emit_fnbytes_python() da mykutils.py (situato in /python/flare nel repository flare-ida). Gli opcode sono stati poi aggiunti come stringhe Python a una libreria di implementazioni di funzioni in code_grafter.py (anch'esso in /python/flare).