
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 anhand des Kontrollflussgraphen (CFG) eines Programms veranschaulicht.
| Ein typischer CFG einer Funktion | Ein von REpsych erzeugter CFG |
|---|---|
![]() | ![]() |
Das Projekt hat keinen besonderen Zweck (außer zu zeigen, dass es möglich ist), aber mögliche (nicht ernst gemeinte) Anwendungen werden in der DEF CON-Präsentation beschrieben.
Das Programm funktioniert zuverlässig mit allen getesteten Versionen des Reverse-Engineering-Tools IDA Pro und halbwegs zuverlässig mit anderen CFG-Betrachtern (Hopper, BinNavi, radare2 usw.).
Das Toolset übersetzt Quellbilder in funktionsfähige 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 sollten Sie versuchen, kleine Quellbilder zu verwenden (nicht größer als 100x100), und Sie müssen möglicherweise die zulässige Anzahl von Knoten in Ihrem CFG-Betrachter erhöhen.
Wenn Sie ein Textbild als Eingabe für das Tool verwenden, konvertieren Sie 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 die besten Ergebnisse im Kontrollflussgraphen erzielt.





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