reverse-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# AST 去混淆
|
||||
|
||||
前提是页面取证和本地复现已经基本跑通。不要在未跑通前就把主要精力放在大规模 AST 清洗上。
|
||||
@@ -0,0 +1,12 @@
|
||||
# 自动化入口
|
||||
|
||||
推荐开场顺序:
|
||||
|
||||
1. `js-reverse_new_page` 或 `js-reverse_navigate_page` 打开页面
|
||||
2. `js-reverse_list_network_requests` 看最近请求
|
||||
3. `js-reverse_get_request_initiator` 找调用栈
|
||||
4. `js-reverse_list_scripts` 建立脚本范围
|
||||
5. `js-reverse_search_in_sources` 搜请求路径、参数名、函数名
|
||||
6. 必要时 `js-reverse_break_on_xhr` 或 `js-reverse_set_breakpoint_on_text`
|
||||
|
||||
默认不要一上来就猜 `window`、`document`、`navigator` 该怎么补。
|
||||
@@ -0,0 +1,6 @@
|
||||
# 补环境规则
|
||||
|
||||
- 只补页面证据已经证明需要的对象
|
||||
- 一次补一个最小因果单元
|
||||
- 先补值,再补函数壳,再补返回对象契约
|
||||
- 每次补丁都要重新执行并记录 first divergence 是否前移
|
||||
@@ -0,0 +1,8 @@
|
||||
# 回退策略
|
||||
|
||||
当当前路径无进展时按顺序回退:
|
||||
|
||||
1. 从断点回退到请求观察
|
||||
2. 从源码猜测回退到运行时证据
|
||||
3. 从 Node 补环境回退到页面取证
|
||||
4. 从深度去混淆回退到最小可复现链路
|
||||
@@ -0,0 +1,9 @@
|
||||
# 插桩
|
||||
|
||||
优先轻量观察:
|
||||
|
||||
- XHR/Fetch 断点
|
||||
- 函数文本断点
|
||||
- 暂停后读调用栈与局部变量
|
||||
|
||||
只有在轻量观察不够时,才升级为更重的源码改写或本地插桩。
|
||||
@@ -0,0 +1,11 @@
|
||||
# 本地复现
|
||||
|
||||
页面侧确认以下内容后再回到 Node:
|
||||
|
||||
- 真实入口函数
|
||||
- 调用顺序
|
||||
- 参数来源
|
||||
- 依赖的浏览器对象
|
||||
- 是否依赖时间、随机数、storage、cookie、UA、canvas、crypto
|
||||
|
||||
先最小复现,再逐步补环境,不要一次性模拟整浏览器。
|
||||
@@ -0,0 +1,30 @@
|
||||
# MCP 任务编排模板
|
||||
|
||||
```md
|
||||
## Observe
|
||||
- 页面:
|
||||
- 目标请求:
|
||||
- initiator:
|
||||
- 可疑脚本:
|
||||
|
||||
## Capture
|
||||
- 采样方式:
|
||||
- 命中位置:
|
||||
- 关键入参:
|
||||
- 关键返回:
|
||||
|
||||
## Rebuild
|
||||
- 入口函数:
|
||||
- 依赖脚本:
|
||||
- 环境缺口:
|
||||
|
||||
## Patch
|
||||
- first divergence:
|
||||
- 本次补丁:
|
||||
- 复测结果:
|
||||
|
||||
## Output
|
||||
- 是否拿到参数:
|
||||
- 是否可稳定复现:
|
||||
- 剩余风险:
|
||||
```
|
||||
@@ -0,0 +1,9 @@
|
||||
# Node 环境复现
|
||||
|
||||
Node 侧默认顺序:
|
||||
|
||||
1. 导入目标脚本
|
||||
2. 最小 shim 宿主对象
|
||||
3. 跑入口函数
|
||||
4. 记录首个异常或 first divergence
|
||||
5. 回到页面证据补齐缺口
|
||||
@@ -0,0 +1,9 @@
|
||||
# 输出契约
|
||||
|
||||
最终输出至少应包含:
|
||||
|
||||
- 目标请求和参数位置
|
||||
- 哪个脚本、哪个函数参与生成
|
||||
- 证据来源:请求、调用栈、断点、运行时值
|
||||
- 当前是否已能稳定复现
|
||||
- 若未完成,还差哪一个环境缺口
|
||||
@@ -0,0 +1,11 @@
|
||||
# 任务产物
|
||||
|
||||
建议每个任务至少保留:
|
||||
|
||||
- 目标请求样例
|
||||
- initiator 调用栈
|
||||
- 可疑脚本 URL
|
||||
- 关键断点位置
|
||||
- 关键函数入参/返回值
|
||||
- first divergence 记录
|
||||
- 每次补环境补丁说明
|
||||
@@ -0,0 +1,11 @@
|
||||
# 任务输入模板
|
||||
|
||||
```md
|
||||
目标站点:
|
||||
目标页面:
|
||||
目标请求:
|
||||
关注参数:
|
||||
已知线索:
|
||||
期望产出:
|
||||
是否需要本地复现:是 / 否
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
# 工具默认值
|
||||
|
||||
- `js-reverse_list_network_requests`:先看第一页默认结果,不足再翻页
|
||||
- `js-reverse_search_in_sources`:默认 `excludeMinified=true`
|
||||
- `js-reverse_get_script_source`:只读小片段,整份源码优先配合 `js-reverse_save_script_source`
|
||||
- `js-reverse_break_on_xhr`:只填能稳定命中的 URL 片段
|
||||
- `js-reverse_get_paused_info`:默认先看 `frameIndex=0`
|
||||
Reference in New Issue
Block a user