逆向工程师XD
rexd 是一个基于Frida的本地MCP服务器,用于代理驱动的逆向工程。
它是为实用的逆向工程MCP工作流程而构建的,包括使用AI设置的逆向工程和LLM辅助的逆向工程,其中代理需要一个小型的、类型化的运行时检测界面。
它专为以下工作流程而设计:
agent -> rexd -> Frida -> target process
该项目公开了一个小型的键入工具界面,用于连接进程、读写内存、扫描范围、解析符号和安装运行时挂钩。
它包括什么
- 一个原始的JSON桥接器
stdin/stdout - 用于Codex、Claude Code和其他MCP客户端的MCP stdio服务器
- 用于可见内存编辑测试的本机Windows演示目标
- 受支持客户端的MCP注册片段示例
当前刀具表面
pingattachspawnresumedetachlistSessionslistModulesenumerateRangesenumerateExportsenumerateSymbolsreadMemorywriteMemoryprotectMemoryreadUtf8scanMemorygetSymbolDetailsresolveTargetgetBacktracestartHooklistHooksremoveHookdrainHookEvents
需求
- Node.js 20+
- 包含的本机演示目标的Windows
- Frida兼容目标环境
安装
克隆仓库并安装依赖项:
npm install启动MCP服务器:
npm run start:mcp在Codex或Claude注册
注册 rexd 与Codex合作:
codex mcp add rexd -- node \src\mcp-server.mjs注册 rexd 克劳德代码:
claude mcp add rexd -- node \src\mcp-server.mjs如果 node 未打开 PATH,使用完整路径 node.exe.
更多设置示例见 docs/MCP_SETUP.md.
首次测试
该仓库包含一个本地Windows UI测试目标 targets/number_target.
构建它:
cd targets\number_target
cargo build --release
cd ..\..运行它:
.\targets\number_target\target\release\number_target.exe窗口显示一个实时整数值,并在标题中包含PID和内存地址。
代理提示示例:
Use the `rexd` MCP server.
Attach to the running `number_target.exe` process.
Find the displayed number in memory and change it to `100`.
Prefer using the PID or memory address shown in the window title if available.
Report the exact MCP tool calls you used and the final value you confirmed.例子
这 例子 目录包含以下内容的注册代码段:
- Codex CLI
- 克劳德代码
备注
spawn启动一个挂起的进程,以便在之前安装钩子resumewriteMemory需要一个没有空格的偶数长度十六进制字符串- MCP服务器是预期的公共集成界面
- 原始JSON桥仍然可用于直接自动化和调试
卸载
从Codex中删除MCP服务器:
codex mcp remove rexd从克劳德代码中删除MCP服务器:
claude mcp remove rexd可选的本地清理:
Remove-Item -Recurse -Force node_modules
Remove-Item -Recurse -Force targets\number_target\target发展
语法检查:
npm run check