Skills

Hello Js Reverse Skill

通用 Web API 数据采集、Node.js/Python 协议调用与前端签名分析。 使用 Camoufox MCP 捕获请求、调试...

Install

npx skills add WhiteNightShadow/hello_js_reverse_skill --skill hello_js_reverse_skill -g -a claude-code -y
Category
AI and agents
Updated
2mo ago
License
See repository
Context cost
Mediumabout 2,109 tokens
Runs scripts
No, instructions only

What it does

通用 Web API 数据采集、Node.js/Python 协议调用与前端签名分析。 使用 Camoufox MCP 捕获请求、调试 Hook、分析混淆/JSVMP/WASM, 交付可验证的采集程序,支持分页、断点续采和接口改版回归。 用于自有或已授权接口;微信小程序 wxapkg 解包使用对应小程序技能。

通用采集与签名分析

本 Skill 提供工作方法、案例和协议模板;camoufox-reverse-mcp 提供浏览器分析工具。保持通用:域名、接口路径、字段、签名算法、Cookie 和分页规则来自当前需求,不能写进 MCP 的平台通用实现。

启动与任务范围

首次任务检查一次,继续操作复用,相关状态变化时只复查受影响项。 具体规则见 任务级检查。

  1. 按任务选路径:代码维护/离线验签检查相关运行时和已有样本;普通协议采集确认鉴权、业务成功条件和分页;浏览器分析首次调用 check_environment()。不用浏览器的任务无需先过浏览器环境门槛。
  2. 复用证据:先读需求工作区已有代码、任务记录与 project-manifest.json。只有遇到相应逆向特征时查 cases/README.md,命中后验证当前适用性。不要每个工具调用前全量审查。
  3. 状态变化再重查:浏览器重启/断连查环境与当前页;导航/Frame 变化只查页面;SDK/鉴权变化查相关基线和样本。has_residuals 可能是当前证据,不自动 reset;state_fingerprint 不是完整环境校验。
  4. 交付约定延续:默认独立 Node.js/Python 协议程序;沿用用户已确认的采集字段、分页、鉴权和输出。用户明确要求页面自动化时可交付浏览器程序并声明依赖。

用户已提供的授权与偏好持续有效。沿现有实现完成当前需求;仅在缺少关键登录态、访问条件或无法推断的业务约定时请求必要信息。仓库发布按当前用户授权执行,Skill 自身不扩大授权。

通用采集优先路径

普通 JSON API 不必进入完整逆向流程,先读 general-collection.md。

  • 配置字段包括 URL、Method、Headers、参数/Body、业务成功条件、数据路径、页码/offset/cursor 与总页数上限。
  • templates/python-request/collect.py 提供可运行的通用入口;templates/python-request/utils/collector.py 可接入自定义签名与鉴权回调,支持去重、JSONL 和断点恢复。核心模块只用标准库;有依赖限制时可复用它并配 urllib 回调,CLI 的 requests 依赖不等于核心也需要。
  • 对空中间页、显式 has_more、临时重复游标、业务重试与本次/累计页数限制,先读 通用采集指南 的可选配置。按接口契约启用;默认行为保持兼容,不把一个模板当作无需适配的全部站点方案。
  • 每次请求现算动态签名;凭据可来自用户配置、合法登录态或协议刷新过程。不要把一次抓取的临时 Cookie 写死到公共模板。
  • HTTP 成功还需验证业务状态、数据结构与结束条件。超时、空响应、403/412 只是现象,需要通过证据区分原因。
  • 默认重试只用于 GET/HEAD/OPTIONS;POST 等请求发生不确定失败时,先确认幂等条件再重放。

浏览器采样与诊断

check_environment()
launch_browser()                         # 默认不启用原生 trace
network_capture(action="start", capture_body=True)
navigate(url="<目标地址>")
# 触发代表性操作;等待业务完成信号或确认本次目标请求已进入捕获
network_capture(action="stop", wait_timeout_ms=3000)
list_network_requests(limit=100, after_id=0)
get_network_request(request_id=<捕获ID>, include_body=True)
export_network_capture(save_path="<需求工作区>/artifacts/capture.json")

MCP v1.6.0 的采集契约:

Read the whole SKILL.md on GitHub

More in AI and agents