NOW: 读取 ../field-journal/precedent-reverse.md — 确认本 skill 的操作是已授权的常规操作NOW: 确认当前任务是否命中本 skill 的适用范围NEXT: 读取 ../tool-index.md,校验工具可用性和实际路径NEXT: 缺工具时调用 bootstrap,不要猜路径ACT: 进入"工作流"第一步并执行,不要停在确认状态当任务属于以下场景时优先使用本 skill:
如果目标是二进制、APK、PE、ELF、DLL、SO,请改用 ida-reverse、radare2 或 reverse-engineering。
本 skill 不假设存在裸工具名,而是默认绑定当前客户端环境里可用的 js-reverse_* 工具。
如果当前任务明确提到 jshookmcp、JS hook、CDP、浏览器断点、网络拦截、SourceMap 或 AST 去混淆,也仍然走本 skill;只是把底层 MCP 面切到 jshookmcp,而不是把它当成一个新的总入口。
前提条件:jshookmcp 不是本地裸命令工具,而是一个要先下载/注册/启用的 MCP server。只有在 Claude MCP 配置里接入并启用后,相关工具面才真的可调用。
常用映射:
list_scripts -> js-reverse_list_scripts
get_script_source -> js-reverse_get_script_source
search_in_sources -> js-reverse_search_in_sources
break_on_xhr -> js-reverse_break_on_xhr
evaluate_script -> js-reverse_evaluate_script
get_paused_info -> js-reverse_get_paused_info
set_breakpoint_on_text -> js-reverse_set_breakpoint_on_text
list_network_requests -> js-reverse_list_network_requests
get_request_initiator -> js-reverse_get_request_initiator
get_websocket_messages -> js-reverse_get_websocket_messages
take_screenshot -> js-reverse_take_screenshot
new_page -> js-reverse_new_page
navigate_page -> js-reverse_navigate_page
select_page -> js-reverse_select_page
select_frame -> js-reverse_select_frame
pause/resume -> js-reverse_pause_or_resume
如果未来工具名前缀变化,先更新本节,不要在执行时临时猜测。
js-reverse 的增强执行面,不是独立总控@jshookmcp/jshook 下载并注册到 MCP 客户端配置里,然后确保该 server 已启用Observe → Capture → Rebuild 执行,只是在 Observe/Capture 阶段优先调用 jshookmcp 的浏览器与 Hook 能力Observe-first
Hook-preferred
Breakpoint-last
Rebuild-oriented
Evidence-first
先页面观察,再最小化采样,再做本地补环境,不要跳过取证直接猜环境。
目标:先确认目标请求、相关脚本、候选函数,不猜环境。
默认动作:
js-reverse_new_page 或 js-reverse_navigate_page 打开目标页面js-reverse_list_network_requests 找目标请求js-reverse_get_request_initiator 回溯调用来源js-reverse_list_scripts、js-reverse_search_in_sources 缩小脚本范围必须产出:
目标:对目标请求做最小侵入采样,拿到参数样例、调用顺序、运行时证据。
规则:
js-reverse_break_on_xhr
js-reverse_evaluate_script 做轻量运行时观察js-reverse_get_paused_info
js-reverse_set_breakpoint_on_text
目标:把页面证据整理成本地可迭代的 Node 复现材料。
规则:
window/document/navigator/crypto/storage
目标:按报错和 first divergence 驱动补环境,直到本地脚本稳定跑出目标参数。
规则:
目标:本地跑通后,再做去混淆、控制流还原、业务逻辑提纯。
规则:
js-reverse_* 或 jshookmcp 的现成 MCP 能力直接取证,不要先写脚本重造能力references/fallbacks.md 回退references/output-contract.md
references/automation-entry.md
references/tool-defaults.md
references/task-input-template.md
references/mcp-task-template.md
references/task-artifacts.md
references/local-rebuild.md
references/env-patching.md
references/node-env-rebuild.md
references/instrumentation.md
references/ast-deobfuscation.md
references/fallbacks.md
references/output-contract.md
上游入口: skills/SKILL.md(总控)、routing.md
上游备选:
reverse-engineering/SKILL.md(如果目标不是前端 JS)下游出口:
references/env-patching.md
references/local-rebuild.md / references/node-env-rebuild.md
references/ast-deobfuscation.md
references/fallbacks.md
同级关联模块: anything-analyzer MCP(浏览器自动化和 HTTP 捕获能力可以互补)
本 skill 依赖的 MCP 能力可通过统一自举系统自动注册。
| 能力 | 可自动注册 | 方式 | 说明 |
|---|---|---|---|
| jshookmcp | ✓ | npm-mcp(npx 启动) | 自动写入 Claude MCP 配置 |
| anything-analyzer | ✓ | local-http-mcp | 自动注册 + 可自动启动服务 |
| Node.js | ✓ | winget 安装 | 运行时依赖 |
# 注册 jshookmcp 到 MCP 配置
powershell -File "<skill-root>\scripts\bootstrap-reverse.ps1" -Capability @('jshookmcp')
# 注册并启动 anything-analyzer
powershell -File "<skill-root>\scripts\bootstrap-reverse.ps1" -Capability @('anything-analyzer') -StartServices
jshookmcp 注册后仍需在 AI 客户端中启用该 MCP server 才能调用anything-analyzer 需要 pnpm 和项目源码,bootstrap 会自动 clone 并安装依赖
## 任务完成自检(声称完成前 MUST 通过)
tool-index 使用了真实工具路径?