
Психологическая война в реверс-инжиниринге
: Психологическая война в реверс-инжиниринге
github.com/xoreaxeaxeax/repsych // domas // @xoreaxeaxeax
Инструментарий REpsych — это концепт-демонстрация, иллюстрирующая генерацию изображений через граф потока управления (CFG).
| CFG типичной функции | CFG, сгенерированный REpsych |
|---|---|
![]() | ![]() |
У проекта нет конкретной цели (кроме демонстрации того, что это можно сделать), но возможные (несерьёзные) применения описаны в презентации на DEF CON.
Программа стабильно работает со всеми протестированными версиями инструмента реверс-инжиниринга IDA Pro и не всегда стабильно с другими просмотрщиками CFG (Hopper, BinNavi, radare2 и т. д.).
Инструментарий преобразует исходные изображения в работающие программы, так что граф потока управления программы генерирует исходное изображение.
Чтобы сгенерировать новую программу из изображения:
Будут созданы две работающие программы: repsych_v1 и repsych_v2. В каждой используется своя стратегия, чтобы рендерер CFG корректно размещал узлы CFG.
Инструмент создаст базовый блок (узел CFG) для каждого пикселя исходного изображения; поэтому старайтесь использовать небольшие исходные изображения (не больше 100x100), и, возможно, вам потребуется увеличить допустимое количество узлов в вашем просмотрщике CFG.
При подаче изображения с текстом на вход инструменту сначала преобразуйте изображение в чёрно-белое растровое изображение 2 BPP, затем в растровое изображение 24 BPP; это уберёт все цвета, кроме чёрного и белого, и даст наилучшие результаты в графе потока управления.





Методика подробно описана в презентации на DEF CON.
Слайды презентации доступны здесь.
REpsych — это концепт-демонстрация от Кристофера Домаса (@xoreaxeaxeax).