1997 浏览器助手
- 作者仓库星标 22
- 作者仓库 codex-reverse-skills
1997.pro Web Reverse Casebook
角色
这个 skill 把 1997.pro 公开文章语料压成“案例知识库 + 场景路由器”。
它负责:
- 当任务出现厂商名、参数名、壳形态或风控线索时,快速判断最像哪一类案例
- 告诉你先读哪份 reference,先查哪类证据,先用哪组 MCP 动作
- 把
1997.pro的案例经验桥接到现有执行 skill,而不是另起一条平行总控流程
它不替代:
$web-js-reverse-master-flow$jsr-reverse$mcp-js-reverse-playbook
复杂任务仍然要回到这些总控或执行 skill。本 skill 只负责“像哪类问题、该从哪下刀”。
职责边界:
- 这个 skill 是专门站点 / 技术案例库,负责按
1997.pro的文章体系提供案例参照、技术锚点和起刀建议。 - 它不接管宏观阶段判定,不重写
证据门 -> locate -> recover -> runtime -> env-patch -> replay这条主流程。 - 如果当前任务已经进入正式阶段切换,必须把阶段裁决权交还给
$web-js-reverse-master-flow。
默认协同
默认执行栈不变:
chrome-devtools-mcpjs-reversejshook
经验用法:
- 先用
chrome-devtools-mcp与js-reverse拿真实请求、真实中间态、真实触发动作。 - 当线索已经像
1997.pro某类案例,再用本 skill 选 reference 和专项 skill。 - 遇到重混淆、复杂 Hook、Stealth 或高级语义恢复时,再把
jshook拉到前台。 - 如果当前任务已经进入正式阶段切换,最终阶段判断仍交给
$web-js-reverse-master-flow。
何时使用
当出现以下任一情况时使用本 skill:
- 用户明确提到
1997.pro、站内文章名、作者相关文章、或想“按这个博客的方法做” - 线索指向具体厂商 / 产品 / 参数:
Akamai、Kasada、PX3、reese84、Incapsula、同盾 BlackBox、a_bogusx-s3-s4e、desc、bx-pp、rid、fuid、fs
- 线索指向具体壳或运行时问题:
JSVMP、while + switch、dispatcher、227/226wasm、worker、postMessage、storage.estimateanimationend、CSS 动画取值、run_js检测、浏览器与 Node 不一致
- 用户要的是“案例参照 / 选型 / 速查表”,而不是纯流程编排
重点案例锚点
优先按这四组识别问题,不要把所有线索混成一个“大逆向题”:
1. 风控 / 厂商锚点
AkamaiKasadaPX/PX3reese84/Incapsula同盾/BlackBoxa_bogus
默认读法:
- 先怀疑
token lane、sign lane、fingerprint lane、challenge lane混杂 - 优先去读
risk-fingerprint-and-vendors.md - 一般会反向驱动
$web-js-reverse-master-flow的Phase 1 + Phase 3
2. 验证码 / 业务字段锚点
腾讯滑块阿里滑块_randfuidfsrid
默认读法:
- 先拆“位置 / 图像 / 角度链”和“轨迹 / 加密 / 验签链”
- 腾讯 / 阿里滑块更容易同时命中浏览器特性通道与验证码双参数链
- 默认去读
captcha-protocol-and-mobile.md
3. 壳层 / 混淆锚点
JSVMP227226平坦流dispatcherwhile + switchopcodebasearr
默认读法:
- 不先补环境,先做壳层恢复
- 默认去读
jsvmp-wasm-and-deobf.md - 反向驱动
$web-js-reverse-master-flow的Phase 2
4. 运行时 / 桥接锚点
wasmprotobufbx-pprun_jsstorage.estimateanimationendworkerpostMessage
默认读法:
- 先判断是 builder / writer 遮蔽,还是浏览器特性通道与运行时分叉
wasm/protobuf/bx-pp更偏recoverrun_js/storage.estimate/animationend更偏runtime
使用顺序
- 先读 routing-matrix.md 做场景归类。
- 若用户提到具体文章、具体厂商或想确认覆盖面,再读 article-index.md。
- 按当前阻塞只加载一份专题 reference:
- 风控、指纹、厂商产品:
risk-fingerprint-and-vendors.md - 浏览器通道、补环境、自动化对抗:
browser-runtime-and-env.md JSVMP、平坦流、wasm、反混淆:jsvmp-wasm-and-deobf.md- 验证码、协议参数、移动端案例:
captcha-protocol-and-mobile.md
- 风控、指纹、厂商产品:
- 然后把任务 handoff 到最合适的执行 skill。
强化规则:
- 命中
Akamai/Kasada/PX/reese84/同盾/a_bogus时,除非证据非常充分,否则不要直接谈 purecalc。 - 命中
JSVMP/227/226/平坦流/混淆时,默认只恢复最小切片,不做全量 beautify。 - 命中
wasm/protobuf/rid/bx-pp时,先找 builder、桥接层和写回边界。 - 命中
run_js/storage.estimate/animationend时,先把它当运行时分叉证据,不要直接把它归入“缺对象”。
Handoff 规则
总控 / 取证
- 复杂 Web 任务默认回
$web-js-reverse-master-flow - 需要阶段判定与工具化时回
$jsr-reverse - 需要最小请求链 / sink 定位时回
$jsr-locate或$js-reverse-trace-hook
壳层恢复
JSVMP/ dispatcher / 平坦流:$jsr-recover- 控制流虚假分支裁剪:
$js-controlflow-truth-sampling-prune - 别名、字符串池、多层赋值:
$js-ast-binding-alias-deobf - Wasm 型 VM:
$js-wasm-vmp-ir-lifting - Webpack 运行时 / 打包桥:
$js-webpack-runtime-node-reuse
运行时与补环境
- 浏览器与 Node 分叉:
$jsr-runtime - 最小环境迁移:
$env-patch - 已能跑但结果仍漂移:
$js-runtime-diff-env-patching - 反调试 / DevTools 摩擦:
$js-reverse-env-antidebug
稳定复现 / 协议
- 参数链回放与回归:
$js-reverse-sign-replay - 验证码双参数链:
$captcha-parameter-chain-bisection - 无 schema 的 protobuf 二进制:
$protobuf-schema-backfill - Android 侧 QUIC / So 抓包降级:
$android-quic-downgrade-hook-capture
你应该输出什么
使用本 skill 时,优先输出以下内容,而不是泛泛讲案例:
- 当前目标最像哪类
1997.pro案例 - 该类案例的常见“隐藏状态载体 / 隐藏通道 / 壳形态”
- 三个最先验证的现场证据点
- 该读哪份 reference
- 下一步应该切到哪个执行 skill,为什么
- 当前仍未证明的假设
如果当前任务命中 JSVMP / 平坦流 / wasm / 混淆,必须额外输出:
- 当前更像
dispatcher壳、字符串解密壳、wasm桥,还是浏览器特性通道 - 关键状态载体是什么:
ip/g、寄存器数组、栈对象、常量池、样式终态、storage、message 通道 - 最小需要恢复到多深:只要入口 / builder,还是需要关键
opcode家族 / imports / exports - 为什么当前应该先
recover、先runtime,还是先回locate
如果当前任务命中 Akamai/Kasada/PX/reese84/同盾/a_bogus/腾讯滑块/阿里滑块/rid/fuid/fs/bx-pp/run_js/storage.estimate/animationend,必须额外输出:
- 这一类问题最常见的隐藏状态载体
- 最可能的第一分叉点
- 不该先做的误操作
- 该回到
$web-js-reverse-master-flow的哪个 phase
不要这样用
- 不要把“厂商名相似”当成已经证明算法相同。
- 不要跳过浏览器真实证据,直接套历史案例做纯算。
- 不要默认加载全部 references;只读当前最相关的一份或两份。
- 不要让案例经验盖过真实现场。这个 skill 提供的是“起刀位置”,不是证据本身。
- 不要因为看到了
wasm或JSVMP就默认全量 lifting / 全量反编译。
- 流狐分类
- AI 智能
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @firstrui · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- macOS · Linux · Windows
- 底层运行要求
- Node.js
- 检测到的文件与系统行为
-
- 只读
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 这个 skill 把 1997.pro 公开文章语料压成“案例知识库 + 场景路由器”。 它负责: 当任务出现厂商名、参数名、壳形态或风控线索时,快速判断最像哪一类案例
默认执行栈不变: chrome-devtools-mcp js-reverse
当出现以下任一情况时使用本 skill: 用户明确提到 1997.pro、站内文章名、作者相关文章、或想“按这个博客的方法做” 线索指向具体厂商 / 产品 / 参数:
优先按这四组识别问题,不要把所有线索混成一个“大逆向题”:
Akamai Kasada PX / PX3
腾讯滑块 阿里滑块 rand
# 1997.pro Web Reverse Casebook
## 角色
这个 skill 把 `1997.pro` 公开文章语料压成“案例知识库 + 场景路由器”。
它负责:
- 当任务出现厂商名、参数名、壳形态或风控线索时,快速判断最像哪一类案例
- 告诉你先读哪份 reference,先查哪类证据,先用哪组 MCP 动作
- 把 `1997.pro` 的案例经验桥接到现有执行 skill,而不是另起一条平行总控流程
它不替代:
- `$web-js-reverse-master-flow`
- `$jsr-reverse`
- `$mcp-js-reverse-playbook`
复杂任务仍然要回到这些总控或执行 skill。本 skill 只负责“像哪类问题、该从哪下刀”。
职责边界:
- 这个 skill 是专门站点 / 技术案例库,负责按 `1997.pro` 的文章体系提供案例参照、技术锚点和起刀建议。
- 它不接管宏观阶段判定,不重写 `证据门 -> locate -> recover -> runtime -> env-patch -> replay` 这条主流程。
- 如果当前任务已经进入正式阶段切换,必须把阶段裁决权交还给 `$web-js-reverse-master-flow`。
## 默认协同
默认执行栈不变:
- `chrome-devtools-mcp`
- `js-reverse`
- `jshook`
经验用法:
- 先用 `chrome-devtools-mcp` 与 `js-reverse` 拿真实请求、真实中间态、真实触发动作。
- 当线索已经像 `1997.pro` 某类案例,再用本 skill 选 reference 和专项 skill。
- 遇到重混淆、复杂 Hook、Stealth 或高级语义恢复时,再把 `jshook` 拉到前台。
- 如果当前任务已经进入正式阶段切换,最终阶段判断仍交给 `$web-js-reverse-master-flow`。
## 何时使用
当出现以下任一情况时使用本 skill:
- 用户明确提到 `1997.pro`、站内文章名、作者相关文章、或想“按这个博客的方法做”
- 线索指向具体厂商 / 产品 / 参数:
- `Akamai`、`Kasada`、`PX3`、`reese84`、`Incapsula`、`同盾 BlackBox`、`a_bogus`
- `x-s3-s4e`、`desc`、`bx-pp`、`rid`、`fuid`、`fs`
- 线索指向具体壳或运行时问题:
- `JSVMP`、`while + switch`、`dispatcher`、`227/226`
- `wasm`、`worker`、`postMessage`、`storage.estimate`
- `animationend`、CSS 动画取值、`run_js` 检测、浏览器与 Node 不一致
- 用户要的是“案例参照 / 选型 / 速查表”,而不是纯流程编排
## 重点案例锚点
优先按这四组识别问题,不要把所有线索混成一个“大逆向题”:
### 1. 风控 / 厂商锚点
- `Akamai`
- `Kasada`
- `PX` / `PX3`
- `reese84` / `Incapsula`
- `同盾` / `BlackBox`
- `a_bogus`
默认读法:
- 先怀疑 `token lane`、`sign lane`、`fingerprint lane`、`challenge lane` 混杂
- 优先去读 `risk-fingerprint-and-vendors.md`
- 一般会反向驱动 `$web-js-reverse-master-flow` 的 `Phase 1 + Phase 3`
### 2. 验证码 / 业务字段锚点
- `腾讯滑块`
- `阿里滑块`
- `_rand`
- `fuid`
- `fs`
- `rid`
默认读法:
- 先拆“位置 / 图像 / 角度链”和“轨迹 / 加密 / 验签链”
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> 角色 → 默认协同 → 何时使用 → 重点案例锚点 → 1. 风控 / 厂商锚点 → 2. 验证码 / 业务字段锚点
要点 -> 这个 skill 把 1997.pro 公开文章语料压成“案例知识库 + 场景路由器”。 · 复杂任务仍然要回到这些总控或执行 skill。本 skill 只负责“像哪类问题、该从哪下刀”。 · - 这个 skill 是专门站点 / 技术案例库,负责按 1997.pro 的文章体系提供案例参照、技术锚点和起刀建议。 · - 先用 chrome-devtools-mcp 与 js-reverse 拿真实请求、真实中间态、真实触发动作。 · 1. 先读 [routing-matrix.md](references/routing-matrix.md) 做场景归类。 · - 命中 Akamai/Kasada/PX/reese84/同盾/abogus 时,除非证据非常充分,否则不要直接谈 purecalc。 · - 不要把“厂商名相似”当成已经证明算法相同。
文件/命令 -> 1997.pro · $web-js-reverse-master-flow · $jsr-reverse · $mcp-js-reverse-playbook · 证据门 -> locate -> recover -> runtime -> env-patch -> replay · chrome-devtools-mcp · js-reverse · jshook
内容 SHA-256 -> 5b59a31e897f
原文结构
适用与边界
原文中的明确线索
1997.pro、$web-js-reverse-master-flow、$jsr-reverse、$mcp-js-reverse-playbook、证据门 -> locate -> recover -> runtime -> env-patch -> replay、chrome-devtools-mcp、js-reverse、jshook