feat(v2.4.0): JSVMP 双路径攻克体系 + jsdom 环境补丁知识库
基于实战经验重构 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
This commit is contained in:
@@ -27,9 +27,13 @@ setInterval(function() { debugger; }, 100);
|
||||
|
||||
### 绕过方案
|
||||
|
||||
**方案 A:MCP 注入绕过**
|
||||
**方案 A:MCP 一键绕过**
|
||||
```
|
||||
[js-reverse] inject_before_load(script=反debugger脚本)
|
||||
[camoufox-reverse] bypass_debugger_trap()
|
||||
或
|
||||
[camoufox-reverse] inject_hook_preset(preset="debugger_bypass")
|
||||
或手动注入:
|
||||
[camoufox-reverse] add_init_script(script=反debugger脚本)
|
||||
```
|
||||
|
||||
```javascript
|
||||
@@ -57,9 +61,9 @@ setInterval = function(fn, ms) {
|
||||
};
|
||||
```
|
||||
|
||||
**方案 B:断点条件设置 false**
|
||||
**方案 B:加载前拦截 debugger 构造**
|
||||
```
|
||||
[js-reverse] set_breakpoint_on_text(text="debugger", condition="false")
|
||||
[camoufox-reverse] add_init_script(script=反debugger脚本)
|
||||
```
|
||||
|
||||
## 2. 开发者工具检测
|
||||
@@ -158,7 +162,7 @@ if (someFunction.toString().length !== 1234) {
|
||||
}
|
||||
```
|
||||
|
||||
**绕过**:不修改原始函数,使用 `inject_before_load` 在执行之前收集所需数据。
|
||||
**绕过**:不修改原始函数,使用 `add_init_script` 在页面脚本执行之前收集所需数据。
|
||||
|
||||
## 4. 时间差检测
|
||||
|
||||
@@ -284,7 +288,7 @@ try {
|
||||
|
||||
## 通用反反调试注入脚本
|
||||
|
||||
以下脚本适合通过 `inject_before_load` 在页面加载前注入:
|
||||
以下脚本适合通过 `add_init_script` 在页面加载前注入:
|
||||
|
||||
```javascript
|
||||
(function() {
|
||||
|
||||
Reference in New Issue
Block a user