Repository navigation
Releases: Fanqi89/dsh-rea
Releases · Fanqi89/dsh-rea
Release list
dsh-rea v1.3.0 — Linux 专属线(WSL 2 + pwntools/binwalk/unblob/mitmproxy)
dsh-rea v1.3.0 — 补齐 Linux 专属分析线(WSL 2 + 工具链 + 可选 Linux 实例)
REA 有一批能力被平台门禁到 Linux(Windows 上调用返回 unsupported_host):ELF 布局(pwntools)、
崩溃 core、固件(binwalk / unblob)、原生 mitmproxy 抓包、PTY 进程捕获、历史源码导入;.deb 与
Linux 应用目标也只能在 Linux 主机上直接打开。这一版把这条线做成「一条命令准备 + 按需启用」。
新增
scripts/setup-wsl-linux-toolchain.ps1(Windows):启用 WSL 可选功能 → 安装 WSL2 内核 →
用 Ubuntu 24.04 base rootfswsl --import(默认C:\wsl\Ubuntu-24.04)→ 在发行版内跑工具链脚本。
支持-DryRun/-Distribution/-InstallPath/-SkipFeatureCheck。
首次启用 WSL 需要重启一次,重启后再跑一遍完成导入与安装。scripts/linux-tools-setup.sh(WSL 内):apt 基础包(binutils file gdb xz-utils p7zip-full dpkg-dev
等)+ Node.js 22(NodeSource)+ pipx 安装 pwntools / binwalk / unblob / mitmproxy,
并把版本记录到/root/rea-linux-tools.txt。cordis.patch.yml新增默认禁用的rea-linux行:
command: wsl.exe+args: ['-d','Ubuntu-24.04','-u','root','--','npx','-y','rea-agents@6.4.0','mcp'],
serverName: rea-linux。准备好 WSL 后把disabled: true改成false并重启,
即获得mcp__rea-linux__*(约 170 个工具,token 成本翻倍,建议按需开启)。
该行用字面量disabled,不涉及!!js,任何 Harness 构建都能正确解析。- Windows 侧 .deb 拆包:文档记录用 7-Zip 独立版
7zr.exe解ar包
(7zr x pkg.deb→7zr x data.tar.xz),ELF 反编译再交给 Linux 实例。
变更
docs/CAPABILITIES.md/docs/SETUP.md增加“Linux 专属线(WSL)”章节;- README 增加 Linux 路线、依赖行、v1.3.0 版本记录;
dsh.plugin.json与package.json版本 1.3.0。
状态
- 脚本已通过 PowerShell 5.1 语法校验与
-DryRun; - WSL 可选功能(
Microsoft-Windows-Subsystem-Linux/VirtualMachinePlatform)已在本机启用,
重启一次后执行导入 + 工具链安装即可完成;按用户要求未做功能测试。
安装
dsh plugin --profile "$env:DSH_PROFILE" add github:Fanqi89/dsh-rea#v1.3.0升级注意
- 从 ≤ v1.2.0 升级:同 spec 重装会返回
ambiguous-install,先卸载再装,然后重启 Harness。 - 现有
rea行的补丁与 v1.2.0 完全一致,升级不影响已装环境。
dsh-rea v1.2.0 — 适配 DSH 插件规范(兼容性声明 + 注册表清单 + 图标)
dsh-rea v1.2.0 — 适配 DeepSeek Harness 插件规范
桥接补丁与 v1.1.0 相同(单行 dsh-mcp-client + 平台自适应 Node 启动器);这一版补的是
「让 DSH 能识别、校验、展示这个插件」的元数据层。
新增
- DSH 兼容性声明:
package.json增加
peerDependencies: { "@deepseek-ai/dsh-mcp-client": ">=0.2.0-rc.2" },
并用peerDependenciesMeta标记为可选(pnpm 不会去 registry 拉 Harness 内置包)。
DSH 的evaluatePluginCompatibility会用运行时版本校验这条 peer:低于0.2.0-rc.2时
安装/激活明确报incompatible-version,而不是「装上了却没有mcp__rea__*工具」。 dsh.plugin.json:DSH 插件注册表清单 ——id、version、engines.dsh: ">=0.2.0-rc.2"、
contributes.skills: ["reverse-engineer-anything"],随包发布,供插件库存/市场工具读取。icon.svg:64×64 插件卡片图标(716 B),经package.json.icon与exports暴露。keywords:dsh-plugin、deepseek-harness、mcp、reverse-engineering、decompiler。package.json.files增加dsh.plugin.json与CHANGELOG.md,安装后可直接查看。
验证(本机 DSH 0.2.0-rc.2)
plugin_manager list_bundles→dsh-rea v1.2.0、enabled: true、无 incompatible 标记,组件仍是单行rea-mcp;pnpm add github:Fanqi89/dsh-rea#v1.2.0→ 装出dsh-rea@1.2.0,包含cordis.patch.yml、dsh.plugin.json、icon.svg、CHANGELOG.md;- 4 个 JSON(
package.json/dsh.plugin.json/locale/*.json)无 BOM、可解析。
安装
dsh plugin --profile "$env:DSH_PROFILE" add github:Fanqi89/dsh-rea#v1.2.0升级注意
- 从 ≤ v1.1.0 升级:同一 spec 重装会返回
ambiguous-install,先卸载再装,然后重启 Harness。 - DSH 版本低于
0.2.0-rc.2的用户请继续用v1.0.1(该版本不声明 peer)。
dsh-rea v1.1.0 — 可反编译一切(能力层 + 文档 + 一键配置)
dsh-rea v1.1.0 — 把「能反编译一切」变成一条命令
桥接补丁与 v1.0.1 完全相同(单行 dsh-mcp-client + 平台自适应 Node 启动器),
所以升级不需要改配置;本版补的是「插件之外的能力层」。
新增
docs/CAPABILITIES.md— 反编译能力全览:零依赖族 / 需外部工具族(Ghidra、JADX、apktool、adb、浏览器、JEB)/ 平台边界 / 上游不支持项 / 逐项验证方法与实测证据。docs/SETUP.md— 依赖配置手册(Ghidra 12.1.4、JADX 0.7.1、apktool 3.0.3、platform-tools、浏览器),含 SHA-256 钉扎、macOS/Linux 手动步骤、GitHub 直连超时的镜像方案。scripts/setup-rea-tools.ps1— Windows 一键配置(9 步:Node/JDK 探测 → Ghidra → 浏览器 → adb → JADX → apktool → 技能 →rea doctor),支持-DryRun/-SkipGhidra/-SkipAdb/-SkipJadx/-SkipSkill/-WithApktool/-ToolsRoot。scripts/apktool-shim.cs—apktool.exe启动器模板:REA 用 shell-freeexecFile启动 launcher,Windows 上.bat无法被直接执行,故编译一个小 exe 转发到java -jar apktool.jar并透传输出。CHANGELOG.md— 版本变更记录。
修复
package.json的 UTF-8 BOM:pnpm 处理 git 依赖时直接JSON.parse,BOM 会让所有
dsh plugin add github:…安装失败(Unexpected token '')。已剥离;仅 PowerShell 脚本保留 BOM(PS 5.1 中文必需)。
本机实测(Windows x64 · DSH 0.2.0-rc.2 · rea-agents 6.4.0)
| 能力 | 结果 |
|---|---|
| 原生反编译 | Ghidra 12.1.4 分析 notepad.exe:9 段 / 794 函数 / 557 字符串;entry 返回伪代码 + 反汇编 + 调用关系 |
| APK 代码 | JADX 0.7.1:com.llw 包信息、MainActivity.onCreate 完整 Java 源码 |
| APK 资源 | apktool 3.0.3:完整 Manifest、app_name=纳西妲送你的礼物、14 个解码文件、coverage=complete |
| Android 设备 | adb 37.0.1-15733141 被 inspect_adb_client 识别 |
| 工具注册 | 170 个 mcp__rea__*;doctor 中 Ghidra 全项绿灯 |
安装
dsh plugin --profile "$env:DSH_PROFILE" add github:Fanqi89/dsh-rea#v1.1.0升级注意
- 从 v1.0.1 升级:
install_bundle对同一 spec 重装返回ambiguous-install,先卸载再装。 - 新增环境变量(
GHIDRA_INSTALL_DIR、REA_JADX_MCP_JAR、REA_APKTOOL_COMMAND、REA_ADB_PATH、REA_BROWSER_EXECUTABLE)只在 Harness 启动时读入,必须重启。
dsh-rea v1.0.1 — 修复插件面板「1 运行中 / 1 异常」
dsh-rea v1.0.1 — 修复「共 2 个组件 · 1 运行中 · 1 异常」
修复
- v1.0.0 用「两行 +
disabled: !!js process.platform …」挑选平台;部分 Harness 构建会忽略或误解析
disabled里的!!js,导致第二条同serverName(rea)的行真的尝试激活,撞上
duplicate server name 规则后在插件面板显示为异常组件。 - 改为单行:
command: node+args: ['-e', <~600 字节启动器>],启动器内部按
process.platform选择cmd.exe /d /c npx … mcp(Windows)或npx … mcp(POSIX);
stdio: 'inherit'直通 MCP 字节流,退出时用taskkill /T/ 进程组SIGTERM清理子进程树。 - 不再依赖
!!js,也不会重复注册。
验证
- 重启后插件面板只剩 1 个组件运行中;进程链
node -e → cmd.exe → npx → rea.mjs;170 个mcp__rea__*注册正常。
安装
dsh plugin --profile "$env:DSH_PROFILE" add github:Fanqi89/dsh-rea#v1.0.1dsh-rea v1.0.0 — 首个可用版本
dsh-rea v1.0.0 — 首个可用版本(把 REA 接进 DeepSeek Harness)
新增
- configuration-only bundle:不写插件代码,通过 Harness 自带的
@deepseek-ai/dsh-mcp-client
以 stdio 方式拉起npx -y rea-agents@6.4.0 mcp,REA 的 170 个工具注册为mcp__rea__<tool>。 locale/en.json、locale/zh.json:插件卡片文案。- 默认
REA_MCP_INPUT_SCHEMA_PROFILE=compact(模型可见 input schema 约 184 KB vs 全量 366 KB)。 toolCallTimeoutMs: 1200000、maxInstructionBytes: 131072、failOnStartupError: false。- 双行插入(Windows / POSIX 各一条),由
disabled: !!js按平台启用。
已知问题(v1.0.1 修复)
- 部分 Harness 构建下面板出现「1 运行中 / 1 异常」。
安装
dsh plugin --profile "$env:DSH_PROFILE" add github:Fanqi89/dsh-rea#v1.0.0