
Psychologische Kriegsführung im Reverse Engineering
: Psychologische Kriegsführung im Reverse Engineering
github.com/xoreaxeaxeax/repsych // domas // @xoreaxeaxeax
Das REpsych-Toolset ist ein Proof-of-Concept, das die Erzeugung von Bildern durch den Kontrollflussgraphen (CFG) eines Programms veranschaulicht.
| CFG einer typischen Funktion | Ein von REpsych erzeugter CFG |
|---|---|
![]() | ![]() |
Das Projekt verfolgt keinen bestimmten Zweck (außer zu zeigen, dass es möglich ist), aber mögliche (nicht ernst gemeinte) Anwendungen werden in der DEF CON-Präsentation umrissen.
Das Programm funktioniert zuverlässig mit allen getesteten Versionen des IDA Pro Reverse-Engineering-Tools und halbwegs zuverlässig mit anderen CFG-Betrachtern (Hopper, BinNavi, radare2 usw.).
Das Toolset übersetzt Quellbilder in funktionierende Programme, sodass der Kontrollflussgraph des Programms das Quellbild erzeugt.
Um aus einem Bild ein neues Programm zu erzeugen:
Es werden zwei funktionsfähige Programme erstellt: repsych_v1 und repsych_v2. Jedes verwendet eine andere Strategie, um sicherzustellen, dass der CFG-Renderer die CFG-Knoten korrekt platziert.
Das Tool erstellt für jedes Pixel des Quellbilds einen Basisblock (CFG-Knoten); daher solltest du versuchen, kleine Quellbilder zu verwenden (nicht größer als 100x100), und du musst möglicherweise die zulässige Anzahl von Knoten in deinem CFG-Betrachter erhöhen.
Wenn du ein Textbild als Eingabe für das Tool verwendest, konvertiere das Bild zuerst in eine 2-BPP-Schwarzweiß-Bitmap und dann in eine 24-BPP-Bitmap. Dadurch werden nicht schwarz-weiße Farben entfernt, und du erzielst die besten Ergebnisse im Kontrollflussgraphen.





Die Technik wird ausführlich in der DEF CON-Präsentation beschrieben.
Folien der Präsentation sind hier verfügbar.
REpsych ist ein Proof-of-Concept von Christopher Domas (@xoreaxeaxeax).