前言¶
DeepSeek Harness (DSH) 允许通过插件扩展智能体的能力。在分析前端加密逻辑或处理混淆 JavaScript 时,直接在浏览器环境中调试往往受限于环境隔离和依赖缺失。本插件旨在解决这一痛点,提供一套用于静态还原和动态 Hook 的工具,帮助分析者从混淆代码中提取纯净逻辑。
核心能力¶
该插件包含三个主要功能模块:
- 静态还原:这是核心路径。将提取出的混淆前端 JS 转换为无主机依赖的计算函数,剥离
window/document/navigator/canvas等环境依赖。这使得分析者可以在纯 Node 环境中计算签名、加密请求体或解密响应,无需浏览器注入。 - 辅助定位:生成 Hook 脚本,用于捕获函数的参数、返回值以及调用栈。这对于调试、取证以及定位加密入口点非常有效。
- 验证:内置多种加密算法的验证函数,覆盖 AES/RSA/MD5/SHA/HMAC/循环 XOR/单字节暴力破解/大整数模幂运算,可利用已知密文、密钥或 IV 重新计算并验证结果。
安装与配置¶
环境要求:需要 Node.js >= 24。
安装命令:
dsh plugin --profile web add github:wangyin572/dsh-plugin-reverse
安装完成后,该插件会在 DSH 中提供一系列用于分析的工具命令。运行上述命令后,重启对应的 profile 即可生效。
典型工作流¶
针对不同的代码情况,按以下步骤操作:
- 评估可行性:在开始分析前,先运行
rev_assess。该命令会分析代码,判断静态还原或 Hook 是否可行,给出阻塞点、入口点候选和环境值要求,并生成执行计划。 - 辅助定位:如果代码包含
eval或动态逻辑,使用rev_hook_generate生成 Hook 脚本。保存并运行该脚本后,可以使用__revHook.dump()查看捕获的记录,使用__revHook.save()导出 JSON,或使用__revHook.unhook()恢复方法。 - 静态提取:使用
rev_extract_pure进行静态还原,生成依赖闭包提取和环境注入后的pure.mjs/env.mjs/demo.mjs模块。 - 代码解混淆:使用
rev_deobfuscate对源码进行语义保留的安全重写(如转义恢复、常量折叠、成员访问规范化),并检测混淆特征。 - 结果验证:使用
rev_crypto_calc对加密结果进行验证,覆盖标准库和手写大整数路径。
适用范围与注意事项¶
适用范围:本插件仅适用于授权分析的代码,包括自有项目、授权安全测试、恶意软件分析、CTF 和互操作性研究。
安全警告:Hook 脚本会记录函数参数和返回值,这些数据可能包含凭证。请仅在您被授权分析的环境中运行。不要将此工具指向他人的账户或系统。
配置注意:不要混合使用 bundle manifest (dsh.bundle) 和 profile manifest (dsh.profile)。