Heretek-RE/re-pdb

GitHub: Heretek-RE/re-pdb

一个 MCP 服务器,用于从 Microsoft Symbol Server 下载与二进制文件匹配的调试 PDB 文件,辅助逆向工程中的符号恢复与分析。

Stars: 0 | Forks: 0

# re-pdb MCP server,用于从 **Microsoft Symbol Server** (msdl) 下载 **debug PDB**,并可选地从自定义镜像下载。 PDB 伴随二进制分析过程:分析师拉取匹配的 PDB,以便恢复被 strip 处理的二进制文件的 struct 布局、函数名称和源代码行信息。标准工作流程: 1. 在目标上运行 `re-lief.parse_binary`(或 `re-rizin.list_imports_exports`)。PE/COFF debug 目录会指明 PDB 的名称及其 GUID + age。 2. 调用 `download_msdl(guid=, age=, basename=)`。server 会获取 `https://msdl.microsoft.com/download/symbols//`, 遵循标准的 `msdl-fingerprints.txt` 重定向,并将 PDB 写入用户指定的输出路径。 3. 随后将 PDB 重新输入到反编译器 / Rizin 中。 ## 工具 | 工具 | 功能 | |---|---| | `check_pdb` | 健康检查 — 返回 msdl 可达性 + httpx 可用性 | | `download_msdl` | 从 Microsoft Symbol Server 下载单个 PDB | | `download_custom` | 从非 msdl URL 下载 PDB。**默认禁用。** 设置 `RE_PDB_ALLOW_PUBLIC=1` 以允许非 msdl 主机。 | ## 安全性 PDB 通常是发布者的 debug artefact,通过公共 symbol server 分发。它们不是目标二进制文件的受版权保护的资产,但可能会泄露内部命名。`re-pdb`: - 绝不会写入到调用者指定的输出路径之外。 - 默认仅限 msdl;除非分析师通过 `RE_PDB_ALLOW_PUBLIC=1` 明确选择加入,否则拒绝非 msdl URL。 - 绝不会重新发布下载的 PDB —— MCP 调用者负责存储和访问控制。 ## 安装 RE-AI plugin 的一部分;`./install.sh` 会安装该 package。要独立安装: ``` pip install -e ./servers/re-pdb ``` ## 运行 ``` re-pdb # stdio transport (default for MCP) python -m re_pdb # equivalent ``` ## URL allowlist 默认的 allowlist 包含一个 host:`msdl.microsoft.com`。 选择加入的 `RE_PDB_ALLOW_PUBLIC=1` 环境变量允许任何 URL,但会在 MCP 响应中记录该覆盖操作,以便分析师事后审计非 msdl 下载。
标签:MCP, PE文件, 云资产清单, 符号服务器, 调试符号, 运行时操纵, 逆向工具, 逆向工程