逆向工程中的心理战
摘要
REpsych 是一个概念验证工具集,它通过程序的控制流图生成图像,从而将源图像转换为可运行的程序,其控制流图(CFG)能够在 IDA Pro 等逆向工程工具中呈现该图像。
查看缓存全文
缓存时间: 2026/08/07 20:12
xoreaxeaxeax/repsych
来源:https://github.com/xoreaxeaxeax/repsych
REpsych
:逆向工程中的心理战
github.com/xoreaxeaxeax/repsych // domas // @xoreaxeaxeax
概述
REpsych 工具集是一个概念验证,演示了如何通过程序的控制流图(https://en.wikipedia.org/wiki/Control_flow_graph)(CFG)生成图像。
| 典型函数的 CFG | REpsych 生成的 CFG |
|---|---|
| cfg | repsych |
这个项目没什么特定的目的(除了证明这事是可行的),但一些可能的(非严肃的)应用在 DEF CON 演讲(https://www.youtube.com/watch?v=HlUe0TUHOIc)中有所概述。
该程序在所有测试过的 IDA Pro 逆向工程工具版本上都能可靠运行,在其他 CFG 查看器(Hopper、BinNavi、radare2 等)上则半可靠运行。
用法
该工具集将源图像转换为可运行的程序,使程序的控制流图生成源图像。
要从图像生成新程序:
- 将图像以 24 BPP 位图格式保存到 gfx/ 文件夹中。
- 在项目的根目录中运行 “make image”,其中 “image” 是你的图像名称(不含扩展名)。
将生成两个可运行程序:repsych_v1 和 repsych_v2。两者使用不同的策略来确保 CFG 渲染器正确放置 CFG 节点。
提示
该工具会为源图像的每个像素创建一个基本块(CFG 节点);因此,你应该尽量使用较小的源图像(不超过 100x100),并且可能需要增加 CFG 查看器中允许的节点数量。
当使用文字图像作为工具输入时,先将图像转换为 2 BPP 黑白位图,再转换为 24 BPP 位图;这样可以去除非黑白色,并在控制流图中获得最佳效果。
示例
示例 1
示例 4
示例 3
示例 2
示例 5
参考
该技术已在 DEF CON 演讲(https://www.youtube.com/watch?v=HlUe0TUHOIc)中详细阐述。
演讲幻灯片可在此获取。
作者
REpsych 是 Christopher Domas(@xoreaxeaxeax(https://twitter.com/xoreaxeaxeax))的概念验证项目。
相似文章
@realfxw:AI 正在彻底重塑底层逆向工程的游戏规则。最近开源的 REA(Reverse Engineer Anything)……
开源的 REA(Reverse Engineer Anything)通过 MCP 和 CLI,将一套底层逆向工程工具链——原生二进制反编译、动态执行追踪、跨技术栈逻辑复刻——封装为 AI Agent 插件,正在重塑自动化 Agent 进行二进制分析的方式,同时也带来了代码混淆、洁净室设计和验证等方面的新挑战。
REA Reverse – 逆向工程一切
REA 是一款面向编码代理的逆向工程工具,通过 `npx rea-agents@latest setup` 安装,可让 AI 代理检查程序的汇编与反编译代码,并用自然语言解释软件行为或重建功能逻辑。
morluto/rea
REA 是一个开源 MCP 服务器,可将 AI 智能体连接到逆向工程工具,用于检查原生二进制文件、JavaScript/Electron 应用、.NET 程序集和网站,遵循“反编译—理解—重建”的工作流程,并确保结论有据可查。
zhaoxuya520/reverse-skill
reverse-skill 是一个开源的网络安全技能路由器,可帮助 Claude Code、Cursor 等 AI 代理为涉及 APK、二进制文件、JS 加密、CTF 挑战或渗透测试目标的任务选择正确的逆向工程工作流。
@hanakoxbt:REA 创作者刚刚发布了提示词,能将任何 AI 智能体变成逆向工程实验室,极其危险……在…
REA 的创作者发布了提示词和一个代码仓库,能将任何 AI 智能体变成逆向工程实验室,可以对 Android、iOS、Windows 应用和固件进行反汇编,并提供二进制级别的证据——被称为 GitHub 上最危险的仓库之一。