HN
Today

Psychological Warfare in Reverse Engineering

REpsych is a proof-of-concept tool that ingeniously transforms images into program control flow graphs. This technical feat demonstrates how to embed visual patterns directly into a program's structural representation, essentially "drawing" with basic blocks. Hacker News enthusiasts appreciate this clever and slightly mischievous "psychological warfare" against reverse engineers, showcasing creative manipulation of fundamental software analysis tools.

10
Score
1
Comments
#9
Highest Rank
9h
on Front Page
First Seen
Aug 7, 8:00 PM
Last Seen
Aug 8, 4:00 AM
Rank Over Time
91111121214151820

The Lowdown

REpsych is a fascinating proof-of-concept toolset developed by Christopher Domas (xoreaxeaxeax) that explores a unique intersection of programming and visual art: generating images directly within a program's control flow graph (CFG). This project is presented as "psychological warfare in reverse engineering," offering a novel way to manipulate how a program's structure appears to an analyst.

  • The core functionality of REpsych involves translating a source image into a fully functional program.
  • Each pixel in the original image corresponds to a basic block (node) within the generated program's control flow graph.
  • While the creator states there's "no specific point" beyond demonstrating feasibility, non-serious applications were discussed at DEF CON.
  • The tool reliably integrates with IDA Pro and shows semi-reliable results with other CFG viewers like Hopper, BinNavi, and radare2.
  • Users are advised to employ small source images (under 100x100 pixels) and potentially adjust their CFG viewer's node limits due to the one-pixel-per-node translation.
  • For optimal results with text-based images, a preliminary conversion to a 2 BPP black and white bitmap, followed by a 24 BPP conversion, is recommended.
  • Further technical details and context are available through the associated DEF CON presentation and its slides.

REpsych stands out as a brilliantly creative, albeit mischievous, demonstration of how deeply understanding software structures can lead to unexpected and visually striking outcomes. It's a testament to the idea that even fundamental analysis tools can be playfully subverted, turning a routine CFG into an unlikely canvas.