一个把前端 JavaScript 逆向流程标准化的 MCP 服务。
目标不是只做页面调试,而是把页面观察、运行时采样、本地复现、补环境和证据沉淀串成一套可复用工作流。
本项目默认遵循以下方法论:
Observe-firstHook-preferredBreakpoint-lastRebuild-orientedEvidence-first
这意味着:
- 先在浏览器里确认请求、脚本、函数和依赖来源
- 再做最小化 Hook 采样
- 再导出 local rebuild
- 再在 Node 里逐项补环境
- 每一步都沉淀为 task artifact,而不是只留在对话里
以下参数链路已有公开索引,可作为仓库内复用入口:
-
某东
h5st参数- 索引:
scripts/cases/README.md - Case:
scripts/cases/jd-h5st-pure-node.mjs
- 索引:
-
某手
falcon风控参数- 索引:
scripts/cases/README.md - Case:
scripts/cases/ks-hxfalcon-pure-node.mjs
- 索引:
-
某音
a-bogus参数- 索引:
scripts/cases/README.md - Case:
scripts/cases/douyin-a-bogus-pure-node.mjs
- 索引:
说明:
- README 首页只展示脱敏后的参数类型和公开入口
- 真实
artifacts/tasks/<task-id>/默认视为本地私有任务目录 - Git 默认只提交
artifacts/tasks/_TEMPLATE/
list_scriptsget_script_sourcefind_in_scriptsearch_in_scripts
create_hookinject_hookget_hook_datahook_functiontrace_function
set_breakpointset_breakpoint_on_textresumepausestep_over/step_into/step_out
list_network_requestsget_network_requestget_request_initiatorbreak_on_xhr
export_rebuild_bundlediff_env_requirementsrecord_reverse_evidence
navigate_pagequery_domclick_elementtype_texttake_screenshot
collect_codeunderstand_codedeobfuscate_coderisk_panel
save_session_staterestore_session_statedump_session_stateload_session_state
完整参数说明见 docs/reference/tool-reference.md。
任务目录统一使用:
artifacts/tasks/_TEMPLATE/artifacts/tasks/<task-id>/
推荐目录结构:
task.jsonruntime-evidence.jsonlnetwork.jsonlscripts.jsonlenv/env.jsenv/polyfills.jsenv/entry.jsenv/capture.jsonrun/report.md
职责边界:
env.js- 基础宿主对象和最小 shim
polyfills.js- 代理诊断层、
watch、safeFunction、makeFunction
- 代理诊断层、
entry.js- 运行入口、目标脚本加载、first divergence 输出
推荐流程:
- 页面观察
- 运行时采样
- 证据入库
- local rebuild
- 逐项补环境
- first divergence 定位
- 深入去混淆 / 风控逻辑提纯
默认原则:
- 不要跳过页面证据直接猜环境
- 不要一次性全量模拟浏览器
- 不要把真实任务目录直接提交 Git
参数链路沉淀遵循以下规则:
- 先读本地 task artifact
artifacts/tasks/<task-id>/
- 本地没有时再读抽象 case
scripts/cases/*
- 仍不足时按模板新建
docs/reference/parameter-methodology-template.mddocs/reference/parameter-site-mapping-template.md
安全边界:
- case 只保留抽象方法和流程
- 真实任务目录默认本地保留
- 敏感值必须脱敏后才允许共享
- Git 默认只提交
_TEMPLATE
详见:
docs/reference/case-safety-policy.mddocs/reference/reverse-artifacts.mddocs/reference/env-patching.md
npm install
npm run build构建入口:
build/src/index.jsnpm run start最小配置示例:
claude mcp add js-reverse node /ABSOLUTE/PATH/JSReverser-MCP/build/src/index.js- Command:
node - Args:
[/ABSOLUTE/PATH/JSReverser-MCP/build/src/index.js]
[mcp_servers.js-reverse]
command = "node"
args = ["/ABSOLUTE/PATH/JSReverser-MCP/build/src/index.js"]如果你需要接管已经打开的浏览器,请继续看:
docs/guides/browser-connection.mddocs/guides/client-configuration.md
- 快速开始:
docs/guides/getting-started.md - 浏览器连接:
docs/guides/browser-connection.md - 客户端配置:
docs/guides/client-configuration.md - 逆向工作流:
docs/guides/reverse-workflow.md - 补环境规范:
docs/reference/env-patching.md
- 逆向任务索引:
docs/reference/reverse-task-index.md - 工具参数总表:
docs/reference/tool-reference.md - 工具读写契约:
docs/reference/tool-io-contract.md - 任务产物说明:
docs/reference/reverse-artifacts.md
docs/reference/reverse-update-prompt-template.mddocs/reference/reverse-report-template.mddocs/reference/algorithm-upgrade-template.mddocs/reference/parameter-methodology-template.mddocs/reference/parameter-site-mapping-template.md
npm run build
npm run test:unit
npm run test:property
npm run coverage:full更多问题排查请看:
docs/guides/browser-connection.md
本项目在设计和实现过程中参考了以下项目,具体协议声明(如 MIT 等)以对应上游仓库为准:
Apache-2.0