基于实战经验重构 JSVMP 分析框架: - SKILL.md: 新增路径选择决策树(路径 A 算法追踪 vs 路径 B 环境伪装) - SKILL.md: 路径 B「环境伪装六步法」完整方法论(采集→对比→分级→补丁→验证→端到端) - SKILL.md: 新增场景 10「JSVMP + jsdom 环境伪装」、解法模式 E - SKILL.md: 标注三板斧适用边界与局限,经验法则扩充至 22 条 - references/jsdom-env-patches.md: 新增 jsdom 环境补丁知识库(Function.toString 三层防御 / plugins 完整模拟 / DOM 布局属性 / 30+ API 存根) - cases/: 新增经验库系统(模板 + 首个 JSVMP 实战案例含 58 项环境检测差异全表) - references/jsvmp-analysis.md: JSVMP 专项分析详细指南 - references/troubleshooting.md: 常见问题排查指南 - templates/python-request/: Python 项目模板 - 各 references 文档增强、Python 技术栈支持、MCP v1.1 适配(44→52 工具) Made-with: Cursor
2.5 KiB
2.5 KiB
[案例名称:用技术特征命名,如 OB混淆+AES-CBC+动态密钥]
难度:★☆☆☆☆ ~ ★★★★★ 还原方案:[A: 纯算法还原 / B: 沙箱执行 / C: WASM 加载 / D: 浏览器自动化 / E: jsdom 环境模拟] 实现语言:[Node.js / Python / 双语言] 最后验证日期:YYYY-MM-DD
技术指纹(供 Phase 0.5 自动匹配)
JS 特征
- 特征1:描述 + 可搜索的关键词/正则
- 特征2:...
参数特征
- 参数名: [名称] | 长度: [N] | 字符集: [hex/base64/自定义] | 编码: [描述]
- ...
请求特征
- 特征1:如预热接口、XHR 拦截、多层 SDK 加载顺序
- ...
反调试特征
- 特征1:如 debugger 陷阱、Function.toString 检测
- ...
混淆类型
- 类型:OB混淆 / JSVMP / 控制流平坦化 / eval打包 / 其他
指纹检测规则(Agent 执行)
快速检测命令(30秒内完成):
- search_code(keyword="关键词1") → 命中条件
- search_code(keyword="关键词2") → 命中条件
- list_scripts → 文件体积条件
匹配判定:以上 N 项中命中 M 项以上 → 高置信度匹配
加密方案
- 算法:[具体算法名称和模式]
- 密钥来源:[硬编码 / 接口下发 / 动态计算 / 环境指纹]
- 加密流程:
- [步骤1]
- [步骤2]
- ...
- 签名公式:
sign = 算法(参数1 + 参数2 + ... + 密钥)(如可提取)
已验证定位路径(Phase 0.5 命中后直接执行)
步骤 1: [具体 MCP 操作和关键词]
步骤 2: [...]
步骤 3: [...]
...
还原代码模板
核心函数
// Node.js 还原代码
# Python 还原代码(如适用)
环境补丁(如需要)
// 环境模拟代码
踩坑记录
| # | 坑 | 现象 | 解决方法 |
|---|---|---|---|
| 1 | |||
| 2 |
变体说明
| 变体 | 差异点 | 影响 |
|---|---|---|
| A | ||
| B |
浏览器指纹采集方法(如涉及环境伪装)
仅当还原方案涉及环境模拟(jsdom / vm 沙箱)时需要此段
// 使用 camoufox-reverse MCP 在真实浏览器中采集指纹的代码
环境检测差异表(如涉及环境伪装)
仅当还原方案涉及环境模拟时需要此段
| 检测点 | 真实浏览器值 | 模拟环境原始值 | 修复方式 |
|---|---|---|---|