# Hello Js Reverse Skill

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

- Repository: https://github.com/WhiteNightShadow/hello_js_reverse_skill (1389 stars)
- Category: AI and agents
- License: see repository
- Last updated: 2026-09-08
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add WhiteNightShadow/hello_js_reverse_skill --skill hello_js_reverse_skill -g -a claude-code -y`
Codex: `npx skills add WhiteNightShadow/hello_js_reverse_skill --skill hello_js_reverse_skill -g -a codex -y`
Cursor: `npx skills add WhiteNightShadow/hello_js_reverse_skill --skill hello_js_reverse_skill -g -a cursor -y`
Gemini CLI: `npx skills add WhiteNightShadow/hello_js_reverse_skill --skill hello_js_reverse_skill -g -a gemini-cli -y`

## Description

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

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 通用采集与签名分析

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

## 启动与任务范围

**首次任务检查一次，继续操作复用，相关状态变化时只复查受影响项。** 具体规则见 [任务级检查](references/task-preflight.md)。

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

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

## 通用采集优先路径

普通 JSON API 不必进入完整逆向流程，先读 [general-collection.md](references/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、临时重复游标、业务重试与本次/累计页数限制，先读 [通用采集指南](references/general-collection.md) 的可选配置。按接口契约启用；默认行为保持兼容，不把一个模板当作无需适配的全部站点方案。
- 每次请求现算动态签名；凭据可来自用户配置、合法登录态或协议刷新过程。不要把一次抓取的临时 Cookie 写死到公共模板。
- HTTP 成功还需验证业务状态、数据结构与结束条件。超时、空响应、403/412 只是现象，需要通过证据区分原因。
- 默认重试只用于 GET/HEAD/OPTIONS；POST 等请求发生不确定失败时，先确认幂等条件再重放。

## 浏览器采样与诊断

```text
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 的采集契约：

The rest: https://github.com/WhiteNightShadow/hello_js_reverse_skill/blob/HEAD//SKILL.md
