REpsych: Psychologische oorlogsvoering bij reverse engineering

Overzicht

Er is geen specifiek doel met dit project, anders dan aan te tonen dat het mogelijk is. Mogelijke (niet-serieuze) toepassingen worden nader toegelicht in de DEF CON-presentatie.

Het programma werkt betrouwbaar met alle geteste versies van de reverse engineering tool IDA Pro, en semi-betrouwbaar met andere CFG-viewers zoals Hopper, BinNavi en radare2.

Gebruik

De toolset vertaalt bronafbeeldingen naar functionerende programma's, zodanig dat de control flow graph van het programma de bronafbeelding reproduceert.

Om een nieuw programma vanuit een afbeelding te genereren:

  1. Sla de afbeelding op in de gfx/ map als een 24 BPP bitmap.
  2. Voer make [afbeelding] uit in de hoofdmap van het project, waarbij [afbeelding] de naam van het bestand is zonder extensie.

Er worden vervolgens twee functionerende programma's aangemaakt: repsychv1 en repsychv2. Elk van deze versies gebruikt een andere strategie om ervoor te zorgen dat de CFG-renderer de CFG-nodes correct plaatst.

Tips

  • Afbeeldingsgrootte: De tool maakt een basisblok (CFG-node) aan voor elke pixel van de bronafbeelding. Gebruik daarom kleine bronafbeeldingen (niet groter dan 100x100). Het kan nodig zijn om het aantal toegestane nodes in uw CFG-viewer te verhogen.
  • Tekstafbeeldingen: Wanneer u een afbeelding van tekst als input gebruikt, is het raadzaam deze eerst om te zetten naar een 2 BPP zwart-wit bitmap en daarna pas naar een 24 BPP bitmap. Dit verwijdert alle kleuren behalve zwart en wit, wat resulteert in de beste weergave in de control flow graph.

Referenties

De gebruikte techniek wordt tot in detail beschreven in de DEF CON-presentatie. De dia's van deze presentatie zijn beschikbaar via de repository.

Auteur

REpsych is een proof-of-concept van Christopher Domas (@xoreaxeaxeax).