kidoz/sleuthre

GitHub: kidoz/sleuthre

一个使用 Rust 构建的逆向工程桌面应用,集成反汇编、反编译与 AI 分析能力,解决二进制代码深度解析与协作审查问题。

Stars: 2 | Forks: 0

# sleuthre [![GitHub release](https://img.shields.io/github/v/release/kidoz/sleuthre)](https://github.com/kidoz/sleuthre/releases/latest) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Rust](https://img.shields.io/badge/rust-2024-orange.svg)](https://www.rust-lang.org/) 一个使用 Rust 构建的开源逆向工程桌面应用程序。 ![sleuthre](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/f71f89708a022258.png) ## 功能 - **二进制格式支持** — 支持 ELF 和 PE 格式,自动进行格式检测 - **多架构反汇编** — 通过 Capstone 支持 x86、x86_64、ARM、ARM64、MIPS、MIPS64 - **函数发现** — 入口点分析与基于启发式的检测(prologue 模式) - **控制流图** — 基本块识别、CFG 构建、分层图布局 - **交叉引用** — 调用、跳转、读数据和写数据 xref,支持双向索引 - **字符串提取** — ASCII 与 UTF-16LE,支持可配置的最小长度 - **常量检测** — CRC32 表、AES S-box、指针表 - **基础反编译器** — 从反汇编生成伪 C 代码 - **项目持久化** — 使用 SQLite 数据库保存与加载分析状态 - **MCP 服务器** — 提供无头 JSON-RPC 接口供 AI 代理集成 - **AI 审核队列** — 审查并批准 AI 建议的重命名与注释 ## 架构 该项目是一个 Cargo 工作区,包含三个 crate: | Crate | 描述 | |-------|-------------| | **re-core** | 分析引擎 — 二进制加载器、反汇编、CFG、交叉引用、字符串/常量检测、反编译器、SQLite 项目数据库 | | **re-gui** | 使用 egui/eframe 构建的桌面 UI — 反汇编、图形、十六进制、字符串与伪代码视图 | | **re-mcp** | 无头 MCP 服务器(基于 stdio 的 JSON-RPC),用于 AI 代理集成 | | **re-cli** | 无头 CLI 工具,用于批量二进制分析 | ## 构建 ``` cargo build ``` ## 运行 ``` # 桌面 GUI cargo run -p re-gui # MCP 服务器(stdio 上的 JSON-RPC) cargo run -p re-mcp # CLI 批处理分析 cargo run -p re-cli -- --help ``` ## 测试 ``` cargo test ``` ## 格式化与检查 ``` cargo clippy -- -D warnings cargo fmt --check ``` ## GUI 桌面 UI 提供以下功能: - **反汇编视图** — 地址、字节、助记符与操作数,并支持行内注释 - **图形视图** — 控制流图,支持贝塞尔曲线边与高亮回边 - **十六进制视图** — 传统的十六进制转储,并包含 ASCII 列 - **字符串视图** — 可过滤的字符串表,包含编码与长度信息 - **伪代码视图** — 反编译后的 C 风格输出 - **函数面板** — 可搜索的函数列表,支持跳转导航 - **导航栏** — 带有颜色编码段的视觉内存映射 ### 键盘快捷键 | 按键 | 操作 | |------|------| | `F5` | 反编译当前函数 | | `Space` | 显示控制流图 | | `N` | 重命名光标处的符号 | | `;` | 在光标处添加/编辑注释 | | `X` | 显示交叉引用 | ## MCP 服务器 MCP 服务器为 AI 代理提供工具以与已加载的二进制文件交互: | 工具 | 描述 | |------|------| | `open_binary` | 加载 ELF/PE 二进制文件用于分析 | | `get_disasm` | 获取指定地址的反汇编列表 | | `get_xrefs` | 获取交叉引用(到/从/双向) | | `get_cfg` | 获取函数的控流流图 | | `get_strings` | 获取发现的字符串(支持过滤) | | `submit_rename` | 提交函数重命名(需审批) | | `add_comment` | 在指定地址添加或移除注释 | | `save_project` | 将当前项目保存到文件 | 资源可通过 `sleuthre://project/{functions,strings,xrefs,comments}` 访问。 ## 许可证 根据 [MIT 许可证](LICENSE) 授权。
标签:AES S-box, AI代理集成, AI分析, ARM64, Capstone, Cargo工作区, CFG, CRC32, eframe, egui, ELF, JSON-RPC, MCP服务器, MIPS, MIPS64, PE, Rust, SQLite, URL提取, Wayback Machine, x86, x86_64, 二进制分析, 云安全运维, 云资产清单, 交叉引用, 伪C代码, 反汇编, 反编译, 可视化界面, 多架构, 字符串提取, 审批队列, 常量检测, 开源, 批量分析, 控制流图, 桌面应用, 网络流量审计, 调用图, 逆向工程, 通知系统, 项目模板