
IDA-Pro-Werkzeuge vom FLARE-Team
Code Grafter ist ein IDA Python-Skript, das es ermöglicht, IDA Pros Bochs IDB Mode zu nutzen, um Code zu emulieren, der Windows-API-Funktionen importiert. Emulationsumgebungen wie der Bochs IDB Mode lösen oder emulieren keine importierten Funktionen, was zu Ausnahmen und der Unfähigkeit führt, die Emulation mit bestimmten Code zu verwenden. Code Grafter löst dies für eine Teilmenge von Windows-API-Funktionen, indem es Opcodes und Daten einfügt, um eine kleine Teilmenge importierter Windows-API-Funktionen zu implementieren. Code Grafter zielt auf Funktionen mit trivialen Implementierungen ab, die häufig mit Zeichenketten-Dekodierung und Malware-Entpacken in Verbindung gebracht werden. Die Möglichkeit, insbesondere den Bochs IDB Mode mit dieser Art von Code zu verwenden, ermöglicht das beiläufige Dekodieren von Zeichenketten und das Entpacken/Dumping von Payloads, ohne sich mit Bedenken wie Anti-Reverse-Engineering, Subprozess-Debugging usw. auseinandersetzen zu müssen.
Die Datei function_replacements.c enthält kompakte C-Implementierungen
mehrerer Funktionen, die mit einfachen Zeichenketten-Dekodierungs- und
Malware-Entpackungsroutinen verbunden sind. Sie wird als Referenz bereitgestellt.
Nach dem Kompilieren von function_replacements.c wurden die relevanten
Funktionsopcodes mit emit_fnbytes_python() aus mykutils.py extrahiert
(befindet sich unter /python/flare im flare-ida-Repository). Die Opcodes
wurden dann als Python-Strings zu einer Bibliothek von Funktionsimplementierungen
in code_grafter.py hinzugefügt (ebenfalls in /python/flare).