GitHub - xoreaxeaxeax/REpsych: Psychological warfare in reverse engineering · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
xoreaxeaxeax
REpsych
Public
forked from Battelle/REpsych
Notifications<br>You must be signed in to change notification settings
Fork<br>71
Star<br>1.1k
master
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>10 Commits<br>10 Commits
code
code
examples
examples
gen
gen
gfx
gfx
slides
slides
LICENSE
LICENSE
Makefile
Makefile
README.md
README.md
repsych.asm
repsych.asm
View all files
Repository files navigation
REpsych
: Psychological Warfare in Reverse Engineering
github.com/xoreaxeaxeax/repsych // domas // @xoreaxeaxeax
Overview
The REpsych toolset is a proof-of-concept illustrating the generation of images<br>through a program's control flow<br>graph (CFG).
A typical function's CFG<br>A REpsych generated CFG
There is no specific point to the project (other than to show that it can be<br>done), but possible (non-serious) applications are outlined in the DEF CON<br>presentation.
The program works reliably with all tested versions of the IDA Pro reverse<br>engineering tool, and semi-reliably with other CFG viewers (Hopper, BinNavi,<br>radare2, etc).
Usage
The toolset translates source images into functioning programs, such that the<br>program's control flow graph generates the source image.
To generate a new program from an image:
Save the image in the gfx/ folder as a 24 BPP bitmap.
Run "make image" in the root directory of the project, where "image" is the<br>name of your image, without the extension.
Two functioning programs will be created: repsych_v1 and repsych_v2. Each uses<br>a different strategy for ensuring the CFG renderer correctly places the CFG<br>nodes.
Tips
The tool will create a basic block (CFG node) for each pixel of the source<br>image; as such, you should try to use small source images (not larger than<br>100x100), and you may need to increase the number of allowed nodes in your CFG<br>viewer.
When using an image of text as input to the tool, first convert the image to a<br>2 BPP black and white bitmap first, then to a 24 BPP bitmap; this will remove<br>non black and white colors, and give the best results in the control flow graph.
Examples
References
The technique is outlined in detail in the DEF CON<br>presentation.
Slides from the presentation are provided<br>here.
Author
REpsych is a proof-of-concept from Christopher Domas<br>(@xoreaxeaxeax).
About<br>Psychological warfare in reverse engineering<br>Resources<br>Readme<br>BSD-3-Clause license<br>Activity<br>Stars<br>1.1k stars<br>Watchers<br>28 watching<br>Forks<br>71 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.