323 lines
11 KiB
Markdown
323 lines
11 KiB
Markdown
# 下载清单 (DOWNLOADS)
|
||
|
||
> ⚠️ **本包已内置全部工具(≈880 MB)—— 正常情况下你不需要下载任何东西。**
|
||
>
|
||
> 本文用于:
|
||
> 1. 了解内置工具**是什么、从哪来、装在哪**(便于排障与溯源)
|
||
> 2. 内置工具损坏/缺失时,用 `setup\repair-tools.ps1` 重新下载
|
||
> 3. 唯一需你自行准备的软件:**IDA Pro**(商业授权,见 `MANUAL/IDA-PRO.md`)
|
||
|
||
---
|
||
|
||
## 零、内置 vs 需自备
|
||
|
||
| 类别 | 组件 | 处理方式 |
|
||
| :--- | :--- | :--- |
|
||
| ✅ **已内置** | jadx · radare2 · apktool · playwright-mcp · js-reverse-mcp · ida-pro-mcp · hook-mcp | 随包提供,解压即用 |
|
||
| 🔴 **需自备** | **IDA Pro 本体**(商业授权) | 见 `MANUAL/IDA-PRO.md` |
|
||
| 🔴 **需自填** | 模型 API 密钥 · playwright token | 由你自行配置(本包不含凭据) |
|
||
| ⚙️ **需 pip 装** | `mcp` · `pytest` · `frida-tools` | `install-python.ps1` 自动 |
|
||
|
||
---
|
||
|
||
## 一、内置工具清单(已随包提供)
|
||
|
||
| # | 组件 | 上游来源 | 本包位置 | 体积 |
|
||
| :-: | :--- | :--- | :--- | :--- |
|
||
| 1 | **jadx** | GitHub `skylot/jadx` | `Tool/mcp/Tool/safe/jadx/` | 461 MB |
|
||
| 2 | **radare2** | GitHub `radareorg/radare2` | `Tool/mcp/Tool/safe/radare2/` | 39 MB |
|
||
| 3 | **apktool** | GitHub `iBotPeaches/Apktool` | `Tool/mcp/Tool/safe/apktool/` | 24 MB |
|
||
| 4 | **playwright-mcp** | npm `@playwright/mcp` | `Tool/mcp/Tool/safe/playwright-mcp/` | 45 MB |
|
||
| 5 | **js-reverse-mcp** | npm `js-reverse-mcp` | `Tool/mcp/Tool/safe/js-reverse-mcp/` | 234 MB |
|
||
| 6 | **ida-pro-mcp** | PyPI `ida-pro-mcp` | `Tool/mcp/Tool/safe/ida-pro-mcp/` | 79 MB |
|
||
| 7 | **hook-mcp** | 自研 | `Tool/mcp/Tool/safe/hook-mcp/` | 331 KB |
|
||
| | | | **合计** | **≈ 880 MB** |
|
||
|
||
> 工具位置由 `seep_mcp_server.py` 硬编码决定:`TOOL_DIR = <脚本目录>/Tool`。
|
||
> 即 `Tool/mcp/` 旁边必须有 `Tool/` 目录。**不可搬动。**
|
||
|
||
---
|
||
|
||
## 二、需自备:IDA Pro(商业授权)
|
||
|
||
IDA Pro **不随包分发**。两种处理:
|
||
|
||
| 方案 | 操作 |
|
||
| :--- | :--- |
|
||
| **已有授权** | 跑 `setup\install-ida.ps1`(自动探测 + 装 ida-pro-mcp + 写配置) |
|
||
| **无授权** | 用免费替代:`seep_r2_*`(Radare2 八件套)+ Ghidra —— 见 `MANUAL/IDA-PRO.md` |
|
||
|
||
> **IDA 缺失不会阻塞任务** —— agent 会自动降级到 `seep_r2_*` 并标注“未使用 IDA 反编译器”。
|
||
|
||
---
|
||
|
||
## 三、需 pip 安装(`install-python.ps1` 自动)
|
||
|
||
| 包 | 版本约束 | 来源 | 用途 |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **mcp** | `>=1.20,<1.29` | PyPI | **seep MCP 运行时** |
|
||
| **pytest** | 最新 | PyPI | 跑 apkseep 离线测试套件 |
|
||
| **frida-tools** | 最新 | PyPI | 动态 Hook(可选) |
|
||
|
||
**国内源回退**:失败时自动重试 `https://pypi.tuna.tsinghua.edu.cn/simple`
|
||
|
||
> ⚠️ **`mcp` 版本上限很重要**:`mcp>=1.29` 移除了 `mcp.server.fastmcp`,
|
||
> seep MCP 会启动失败。**不要手工升级到 1.29+。**
|
||
|
||
---
|
||
|
||
## 四、pi 扩展包(12 个 npm 包)
|
||
|
||
由 `install-pi.ps1` 写入 `~/.pi/agent/settings.json` 的 `packages` 字段,
|
||
然后执行 `pi update --extensions` 安装:
|
||
|
||
```
|
||
npm:pi-open-tui
|
||
npm:pi-web-access
|
||
npm:@juicesharp/rpiv-todo
|
||
npm:@narumitw/pi-btw
|
||
npm:@narumitw/pi-plan-mode
|
||
npm:@narumitw/pi-usage
|
||
npm:pi-mcp-extension
|
||
npm:@smoose/pi-themes
|
||
npm:pi-tool-display
|
||
npm:@juicesharp/rpiv-ask-user-question
|
||
npm:pi-playwright
|
||
npm:pi-goal-x
|
||
```
|
||
|
||
**目标**:`~/.pi/agent/npm/node_modules/` · 体积约 80 MB
|
||
|
||
---
|
||
|
||
### 1. jadx — Java/APK 反编译
|
||
|
||
| 项 | 值 |
|
||
| :--- | :--- |
|
||
| **上游** | https://github.com/skylot/jadx |
|
||
| **下载地址** | `https://api.github.com/repos/skylot/jadx/releases/latest` → asset `jadx-<版本>.zip` |
|
||
| **实测版本** | `jadx-1.5.6.zip` |
|
||
| **正则匹配** | `^jadx-[\d.]+\.zip$` |
|
||
| **目标** | `Tool/mcp/Tool/safe/jadx/` |
|
||
| **服务的工具** | `seep_apk_decompile` |
|
||
| **许可** | Apache-2.0 |
|
||
|
||
### 2. radare2 — 二进制逆向引擎
|
||
|
||
| 项 | 值 |
|
||
| :--- | :--- |
|
||
| **上游** | https://github.com/radareorg/radare2 |
|
||
| **下载地址** | `https://api.github.com/repos/radareorg/radare2/releases/latest` → asset `radare2-<版本>-w64.zip` |
|
||
| **实测版本** | `radare2-6.2.2-w64.zip` |
|
||
| **正则匹配** | `^radare2-.*-w64\.zip$` ⚠️ **注意是 `w64` 不是 `windows`** |
|
||
| **目标** | `Tool/mcp/Tool/safe/radare2/` |
|
||
| **服务的工具** | `seep_r2_*`(**8 个工具**) |
|
||
| **许可** | LGPL-3.0 |
|
||
|
||
> ⚠️ **易错点**:radare2 的 Windows 包名用 `w64`(如 `radare2-6.2.2-w64.zip`),
|
||
> 不是 `windows`。早期若写成 `windows.*\.zip$` 会**匹配不到任何 asset**,导致下载静默失败。
|
||
|
||
### 3. apktool — APK 解包/重打包
|
||
|
||
| 项 | 值 |
|
||
| :--- | :--- |
|
||
| **上游** | https://github.com/iBotPeaches/Apktool |
|
||
| **下载地址** | `https://api.github.com/repos/iBotPeaches/Apktool/releases/latest` → asset `apktool_<版本>.jar` |
|
||
| **实测版本** | `apktool_3.0.3.jar` |
|
||
| **正则匹配** | `^apktool_[\d.]+\.jar$` |
|
||
| **目标** | `Tool/mcp/Tool/safe/apktool/`(脚本另写 `apktool.bat`) |
|
||
| **服务的工具** | `seep_apk_unpack` |
|
||
| **许可** | Apache-2.0 |
|
||
|
||
**前置依赖**:需 JDK 17+(`apktool.bat` 会读 `JAVA_HOME`)
|
||
|
||
### 4. playwright-mcp — 浏览器自动化
|
||
|
||
| 项 | 值 |
|
||
| :--- | :--- |
|
||
| **上游** | https://github.com/microsoft/playwright-mcp(npm `@playwright/mcp`) |
|
||
| **安装** | `npm install @playwright/mcp` |
|
||
| **目标** | `Tool/mcp/Tool/safe/playwright-mcp/` |
|
||
| **备注** | 也可直接用 `npx -y @playwright/mcp@latest`(无需安装) |
|
||
| **需自填** | `PLAYWRIGHT_MCP_EXTENSION_TOKEN`(由你自行配置) |
|
||
|
||
### 5. js-reverse-mcp — JS 逆向
|
||
|
||
| 项 | 值 |
|
||
| :--- | :--- |
|
||
| **上游** | https://github.com/zhizhuodemao/js-reverse-mcp |
|
||
| **方式** | **npx 免安装**:`npx -y js-reverse-mcp` |
|
||
| **目标** | 无需下载(已在 `mcp.json.template` 中预置) |
|
||
| **可选本地安装** | `git clone` + `npm install` + `npm run build` |
|
||
| **许可** | 见上游仓库 |
|
||
|
||
> **优点**:零下载、零磁盘占用。首次调用时 npx 自动拉取。
|
||
|
||
### 6. ida-pro-mcp — IDA 桥接
|
||
|
||
| 项 | 值 |
|
||
| :--- | :--- |
|
||
| **上游** | https://github.com/mrexodia/ida-pro-mcp |
|
||
| **PyPI** | https://pypi.org/project/ida-pro-mcp/ |
|
||
| **实测版本** | **1.4.0** |
|
||
| **安装** | `pip install ida-pro-mcp` |
|
||
| **目标** | Python site-packages |
|
||
| **服务的工具** | `mcp_ida_*`(~243 个) |
|
||
| **⚠️ 前置** | **需自备 IDA Pro**(见 `MANUAL/IDA-PRO.md`) |
|
||
|
||
---
|
||
|
||
## 三、Python 依赖(3 个)
|
||
|
||
`install-python.ps1` 执行:
|
||
|
||
| 包 | 版本约束 | 来源 | 用途 |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **mcp** | `>=1.20,<1.29` | PyPI | **seep MCP 运行时**(版本上限由 reverselab 约定) |
|
||
| **pytest** | 最新 | PyPI | 跑 apkseep 的离线测试套件 |
|
||
| **frida-tools** | 最新 | PyPI | 动态 Hook(可选) |
|
||
|
||
**国内源回退**:脚本失败时自动重试 `https://pypi.tuna.tsinghua.edu.cn/simple`
|
||
|
||
> ⚠️ **`mcp` 的版本上限很重要**:`mcp>=1.29` 移除了 `mcp.server.fastmcp`,
|
||
> seep MCP 会启动失败。**不要手工升级到 1.29+。**
|
||
|
||
---
|
||
|
||
## 四、pi 扩展包(12 个 npm 包)
|
||
|
||
由 `install-pi.ps1` 写入 `~/.pi/agent/settings.json` 的 `packages` 字段,
|
||
然后执行 `pi update --extensions` 安装:
|
||
|
||
```
|
||
npm:pi-open-tui
|
||
npm:pi-web-access
|
||
npm:@juicesharp/rpiv-todo
|
||
npm:@narumitw/pi-btw
|
||
npm:@narumitw/pi-plan-mode
|
||
npm:@narumitw/pi-usage
|
||
npm:pi-mcp-extension
|
||
npm:@smoose/pi-themes
|
||
npm:pi-tool-display
|
||
npm:@juicesharp/rpiv-ask-user-question
|
||
npm:pi-playwright
|
||
npm:pi-goal-x
|
||
```
|
||
|
||
**目标**:`~/.pi/agent/npm/node_modules/`
|
||
|
||
**手工安装**:
|
||
```powershell
|
||
pi update --extensions
|
||
# 或逐个装
|
||
pi install npm:pi-mcp-extension
|
||
```
|
||
|
||
---
|
||
|
||
## 五、免下载项(零磁盘占用)
|
||
|
||
| 组件 | 方式 | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| **js-reverse-mcp** | `npx -y js-reverse-mcp` | 首次调用时自动拉取 |
|
||
| **playwright MCP** | `npx -y @playwright/mcp@latest` | 同上(也可本地装) |
|
||
|
||
---
|
||
|
||
## 六、镜像回退策略
|
||
|
||
`install-tools.ps1` 内置三级回退(**按顺序尝试**):
|
||
|
||
```
|
||
1. 官方源 https://github.com/... (直连)
|
||
2. ghproxy.net https://ghproxy.net/https://github.com/...
|
||
3. gh-proxy.com https://gh-proxy.com/https://github.com/...
|
||
```
|
||
|
||
**触发条件**:下载失败、超时(300s)、或文件 < 1 KB(视为无效)
|
||
|
||
**日志示例**:
|
||
```
|
||
[..] 尝试 official ...
|
||
[!!] 失败: The operation has timed out
|
||
[..] 尝试 ghproxy.net ...
|
||
[OK] 下载成功 (ghproxy.net)
|
||
```
|
||
|
||
---
|
||
|
||
## 七、手动下载清单(脚本全失败时)
|
||
|
||
| 工具 | 手动下载 | 放到 | 备注 |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **jadx** | https://github.com/skylot/jadx/releases → `jadx-x.x.x.zip` | `Tool/mcp/Tool/safe/jadx/` | 解压后 `bin/jadx.bat` 应在 |
|
||
| **radare2** | https://github.com/radareorg/radare2/releases → `radare2-x.x.x-w64.zip` | `Tool/mcp/Tool/safe/radare2/` | 解压后 `bin/radare2.exe` 应在 |
|
||
| **apktool** | https://github.com/iBotPeaches/Apktool/releases → `apktool_x.x.x.jar` | `Tool/mcp/Tool/safe/apktool/apktool.jar` | 需另建 `apktool.bat` |
|
||
| **ida-pro-mcp** | `pip install ida-pro-mcp` | Python site-packages | — |
|
||
| **playwright-mcp** | `npm i @playwright/mcp` | `Tool/mcp/Tool/safe/playwright-mcp/` | 或用 npx |
|
||
|
||
### apktool 的 `.bat` 内容(手动装时需要)
|
||
|
||
```bat
|
||
@echo off
|
||
if "%JAVA_HOME%"=="" (set JAVA=java) else (set JAVA="%JAVA_HOME%\bin\java.exe")
|
||
%JAVA% -jar -Duser.language=en "%~dp0apktool.jar" %*
|
||
```
|
||
|
||
---
|
||
|
||
## 八、验证下载是否成功
|
||
|
||
```powershell
|
||
cd Desktop\Seep\setup
|
||
powershell -ExecutionPolicy Bypass -File .\verify.ps1
|
||
```
|
||
|
||
**期望存在**:
|
||
|
||
| 路径 | 期望内容 |
|
||
| :--- | :--- |
|
||
| `Tool/mcp/Tool/safe/jadx/bin/jadx.bat` | jadx 启动器 |
|
||
| `Tool/mcp/Tool/safe/radare2/bin/radare2.exe` | r2 主程序 |
|
||
| `Tool/mcp/Tool/safe/apktool/apktool.jar` | apktool jar |
|
||
| `Tool/mcp/Tool/safe/hook-mcp/templates/` | Hook 模板(本包自带) |
|
||
| `Tool/mcp/Tool/reverselab/kb/` | 289 篇知识库(本包自带) |
|
||
|
||
---
|
||
|
||
## 九、不下载什么(刻意排除)
|
||
|
||
| 项 | 原因 |
|
||
| :--- | :--- |
|
||
| **IDA Pro 本体**(1.6 GB) | 商业授权,不得分发 —— 见 `MANUAL/IDA-PRO.md` |
|
||
| **模型 API 密钥** | 隐私,由使用者自行配置 |
|
||
| **GitHub PAT / Sentry DSN** | 上游 `.env.example` 仅留空模板 |
|
||
| **Playwright token** | 需自备,由使用者自行配置 |
|
||
|
||
---
|
||
|
||
## 十、网络问题速查
|
||
|
||
| 现象 | 处理 |
|
||
| :--- | :--- |
|
||
| GitHub API 超时 | 脚本会报 `无法获取 release 信息`,改用镜像或手动下载 |
|
||
| 下载中断 | 重跑 `install-tools.ps1`(已存在的会跳过) |
|
||
| `pip` 慢 | `pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <包>` |
|
||
| `npm` 慢 | `npm config set registry https://registry.npmmirror.com` |
|
||
| 全部失败 | 按 §七 手动下载,放到对应目录 |
|
||
|
||
---
|
||
|
||
## 十一、磁盘空间预估
|
||
|
||
| 阶段 | 增量 |
|
||
| :--- | :--- |
|
||
| 解压本包 | 16 MB |
|
||
| 装工具(jadx 460 + r2 39 + apktool 24 + playwright 45 + ida-pro-mcp 1) | ~570 MB |
|
||
| Python 依赖(mcp + pytest + frida-tools) | ~50 MB |
|
||
| pi 扩展包(12 个) | ~80 MB |
|
||
| **合计** | **≈ 700 MB** |
|
||
|
||
> 若只装核心链路(**跳过 jadx**):可省 460 MB。
|
||
> 命令:`powershell -File .\install-tools.ps1 -Only radare2,apktool,ida-pro-mcp`
|