web-reverse


面向授权 Web 前端逆向的契约驱动工作流技能:把分诊、抓包、Hook 取证、反混淆、扣代码 / 补环境、纯算法迁移、协议还原、VM/WASM/DRM 深拆等任务沉淀为可执行的协议、工具链。


一、这是什么

web-reverse 是一个 Web 前端逆向工程工作流技能,覆盖从拿到目标站点 / bundle / wasm 到交付可独立复现产物(Node/Python 骨架、纯算法实现、浏览器内可控复用)的全流程。它不是要求一次性加载全部资料的知识库,而是一套按阶段触发、按需读资料的执行框架。

核心特征:

  • 任务化:每个完整任务在 artifacts/tasks/<task-id>/ 下建立独立 task-local,记录目标、证据、尝试、补环境候选与验收结果,支持多轮续跑与上下文交接。

  • 阶段化:Observe → Capture → Note → Rebuild → Extract → Verify,每阶段有明确产物与推进门禁,Note(线索落盘)是不可跳过的强制步骤。

  • 专题化:34 个 topic 覆盖常见 Web 逆向面(签名/协议、加密库、JSVMP、WASM、Worker、反调试、反篡改、验证码、指纹、DRM 等),按信号自动路由到对应 playbook。

  • 可验收:双闸门——算法自检(控制变量逐字节相等)+ 服务端验收(脱机纯算参数被服务器稳定接受);claimLevelprovisional → route-ready → acceptance-ready → delivered 只能靠证据升迁,delivered 仅由 verify-once.mjs 跑通授予。

二、适用场景

触发场景

当用户提到以下内容时,本技能必须触发(即使没有点名):

  • 签名 / 签 / sign / X-Sign / 加密参数 / 加签 / token 生成

  • 协议还原 / 请求参数 / cookie 加密 / 风控字段 / 反爬虫

  • 混淆 / OB / 反调试 / 反篡改 / DevTools 检测 / debugger 死循环

  • JSVMP / VMP / WASM / 字节码 / dispatcher / handler

  • Worker / iframe / 多上下文 / ShadowRoot / 验证码 / 滑块 / 点选

  • Webpack / bundle / source map / 扣代码 / 补环境 / 最小闭包

  • Frida / hook / trace / 断点 / 调用栈

  • 媒体解密 / DRM / 流媒体 / m3u8 / AES-CTR / appendBuffer

  • SubtleCrypto / WebCrypto / CryptoJS / pkcs1 / 国密

  • 指纹 / canvas / audio / WebGL / device fingerprint

  • module federation / 微前端 / websocket / grpc-web / webrtc

  • 继续已有的 Web 逆向任务

不处理

  • 普通前端开发(UI 组件、页面布局、业务逻辑)

  • 普通 Playwright / Puppeteer UI 自动化或冒烟测试

  • 通用密码学教学

  • 未授权漏洞利用 / 渗透测试

三、两种工作模式

快速分诊

范围窄、只需静态回答、不涉及动态取证或目标修改时,直接做最小抓包 + 关键词搜索 + 证据结论。典型问题:"这个参数是什么加密?""有没有 JSVMP?""打包器是 webpack 还是 vite?"

完整任务

出现以下任一情况时创建 task-local,按阶段协议推进:

  • A~E 中任一交付梯度(请求验收 / 明文边界 / 浏览器内复用 / 本地复现 / 纯算法提取)

  • 多轮续跑

  • 动态取证(Hook / 断点 / CDP / 抓包)

  • 反混淆 / 扣代码 / 补环境 / 纯算法迁移

  • VM / WASM / DRM 深拆(需开 deep-dive permit

  • 组合保护、跨上下文、混合运行时

四、核心原则

原则 含义
Observe before change 先确定目标、feature bundle、候选 entrypoints 与可证伪假设,再选工具;工具可用 ≠ 路线正确
Artifact before claim 支撑根因 / patch / 交付的事实先写入state/clues.mdrun/fixtures.json,再更新状态;口头发现不算证据
Note 是强制步骤 Capture 与 Rebuild 之间必须把线索- [置信度] 发现内容 {EP-00N} 写进 state/clues.md;带着未落盘线索往下走 = 重复劳动
Hypothesis before hook Hook 前先写假设("预期看到 X,能区分 A/B");同一疑点尝试上限 3 次,刷 dump 不算推进
Verify before declare 声明完成前必须过双闸门:算法自检 + 服务端验收;verify-once.mjs 跑通 + acceptanceGap 为空才能说"已交付"
Goal-lock and stop-loss 同工具同策略连续 2 轮无新增 hook/carrier/entrypoint 或无高价值证据 → 先 retrospective 再 pivot,不要硬顶
Browser MCP 锁定 用户显式指定或你按反检测优先级选定某浏览器 MCP 后,整条任务只用这一个;换 MCP = 换浏览器实例 = 风控指纹变化

五、交付梯度(A~E,先选 1 个主模式)

梯度 含义 验收口径
A 请求验收:字段被服务器接受、挑战链闭环 端到端服务端返回成功(如error==0 且业务校验通过),由 verify-once.mjs 复现
B 内容 / 明文边界恢复:clear boundary、内容层验证 可验证明文产出,字段、算法、来源可回指
C 浏览器内可控复用:Playwright / Puppeteer / DevTools 作 harness 在受控浏览器内稳定复现目标行为
D 本地复现 / Port:Node / Python 最小可运行骨架 脱离浏览器后骨架独立运行,输出与浏览器逐字节相等(控制变量下)
E 纯算法提取:仅当 A~D 都不足时才升级 generate(ctx, pinned=None) 实现契约 + 双闸门通过;运行时不依赖原 bundle / wasm / worker / 浏览器

主张精度(记录时必须标注):provisionalroute-readyacceptance-readydelivereddelivered 只能由最终验收授予,部分明文、单条偶发成功、浏览器 PoC 都不能单独升此级。

六、专题覆盖(共 34 个)

按成熟度分组(maturity 表示仓库级 task model、formal validation 与 topic pack 保证级别,不直接等价于真实样本实战回归完备度):

  • synthetic-e2e(21)anti-debugbehavior-telemetrybinary-codecchallenge-orchestrationcompression-streamdynamic-codeenvfingerprintframework-runtimegraphql-rpcinstrumentation-hookingjsvmpmedia-drmmodule-federationprotocolsignaturestreaming-runtimesubtlecryptouserland-cryptowasmworker

  • closed-loop(13)anti-tamperast-deobfuscationbeacon-reportingbundle-loadercross-context-coordinationframegrpc-webmicrofrontend-runtimesessionsource-mapstoragewebauthn-passkeywebrtc-datachannel

  • guided / reference-only(0):暂无

完整索引见 references/README.md,能力矩阵见 docs/reference/capability-matrix.md,专题选择策略见 docs/reference/topic-selection-policy.md

七、高频路由示例

命中信号 读取的 playbook
签名 / 加密参数 / 风控字段 references/signature-playbook.md + references/protocol-playbook.md
CryptoJS / AES / DES / pkcs1 references/userland-crypto-playbook.md
SubtleCrypto / WebCrypto API references/subtlecrypto-playbook.md
_0x 变量 / 大数组 / OB 混淆 references/deobf.md + references/string-array-deobfuscation-playbook.md
控制流平坦化 / OLLVM-flavored references/control-flow-flattening-playbook.md
while(true)+switch / 字节码 / dispatcher references/vmp-playbook.md(+ vmp-advanced-playbook.md / vmp-semantic-lifting-playbook.md
.wasm / WebAssembly.instantiate references/wasm-jsvmp-bridge-playbook.md + references/wasm-binary-analysis-playbook.md
Worker / SharedWorker / iframe 多上下文 references/worker-playbook.md + references/cross-context-coordination-playbook.md
eval( / new Function( 动态执行 references/dynamic-code-playbook.md
webpack / bundle / module federation references/bundle-loader-playbook.md + references/module-federation-playbook.md
扣代码 / 最小闭包 / 补环境 references/closure-extraction-playbook.md(入口)+ references/composite-triage-playbook.md「Rebuild 路线三岔决策」
debugger 死循环 / DevTools 检测 / 反调试 references/anti-debug-playbook.md + references/anti-debug-snippets.md
self-defending / toString 完整性校验 references/anti-tamper-playbook.md
滑块 / 点选 / 旋转 / 验证码 references/captcha-slider-playbook.md + references/challenge-orchestration-playbook.md
canvas / audio / WebGL 指纹 references/fingerprint-playbook.md + references/fingerprint-deep-vectors-playbook.md
m3u8 / 媒体解密 / DRM / appendBuffer references/media-drm-playbook.md + references/video-frame-decryption-playbook.md
source map 还原 references/source-map-playbook.md
grpc-web / graphql / websocket / webrtc 对应grpc-web-playbook.md / graphql-rpc-playbook.md / webrtc-datachannel-playbook.md

八、文档导航

文件 角色
SKILL.md 模型运行入口:边界、三条红线、阶段协议、交付梯度、路由表
PROMPTS.md 提示词模板库:可复制模板与拼装片段
README.md 仓库结构、当前版本主轴、维护分层速记
docs/guides/getting-started.md 新任务 / 续跑任务最短使用路径
docs/guides/minimal-usage-manual.md 最小使用手册
docs/guides/task-lifecycle.md task-local 生命周期
docs/reference/reverse-bootstrap.md 启动协议
docs/reference/reverse-workflow.md 执行循环 / retrospective canonical 定义
docs/reference/startup-gate-procedures.md 启动门禁细则
docs/reference/deliverable-ladder.md 交付梯度 A~E 与升降级规则
docs/reference/stop-loss-parameters.md 停损阈值表 + deep-dive permit 协议
docs/reference/capability-matrix.md 能力矩阵与专题成熟度
docs/reference/closeout-checklist.md 收尾硬校验项与四段叙事真源
references/README.md 完整 topic → playbook 索引
references/browser-mcp-capability-map.md 浏览器 MCP 能力映射(工具无关执行层)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。