Role
This skill compresses the 1997.pro public article corpus into a "case knowledge base + scenario router."
It is responsible for:
- When a task shows vendor names, parameter names, packer forms, or risk-control clues, quickly determine which type of case it most resembles
- Tell you which reference to read first, which type of evidence to check first, and which set of MCP actions to use first
- Bridge the case experience of
1997.proto existing execution skills, rather than starting a separate parallel master-control process
It does not replace:
$web-js-reverse-master-flow$jsr-reverse$mcp-js-reverse-playbook
Complex tasks still need to return to these master-control or execution skills. This skill is only responsible for "what type of problem it resembles and where to start."
Boundaries of responsibility:
- This skill is a site-specific / technical case library, responsible for providing case references, technical anchors, and starting suggestions according to the article system of
1997.pro. - It does not take over macro phase determination, and does not rewrite the main process of
证据门 -> locate -> recover -> runtime -> env-patch -> replay. - If the current task has already entered formal phase switching, the authority for phase adjudication must be returned to
$web-js-reverse-master-flow。
Default coordination
The default execution stack remains unchanged:
chrome-devtools-mcpjs-reversejshook
Experience usage:
- First use
chrome-devtools-mcpandjs-reverseto obtain real requests, real intermediate states, and real trigger actions. - When the clues already resemble a certain type of case in
1997.pro, then use this skill to select references and specialized skills. - When encountering heavy obfuscation, complex Hooks, Stealth, or advanced semantic recovery, then bring
jshookto the foreground. - If the current task has already entered formal phase switching, the final phase judgment is still handed to
$web-js-reverse-master-flow。
When to use
Use this skill when any of the following situations occurs:
- The user explicitly mentions
1997.pro, an on-site article name, an author-related article, or wants to "do it according to this blog's method" - Clues point to a specific vendor / product / parameter:
Akamai、Kasada、PX3、reese84、Incapsula、同盾 BlackBox、a_bogusx-s3-s4e、desc、bx-pp、rid、fuid、fs
- Clues point to a specific packer or runtime problem:
JSVMP、while + switch、dispatcher、227/226wasm、worker、postMessage、storage.estimateanimationend, CSS animation value extraction,run_jsdetection, browser and Node inconsistency
- What the user wants is "case reference / selection / quick-reference table," not pure process orchestration
Key case anchors
Prioritize identifying problems according to these four groups; do not mix all clues into one "big reverse engineering problem":
1. Risk-control / vendor anchors
AkamaiKasadaPX/PX3reese84/Incapsula同盾/BlackBoxa_bogus
Default reading method:
- First suspect
token lane、sign lane、fingerprint lane、challenge lanemixing - Prioritize reading
risk-fingerprint-and-vendors.md - Generally will reversely drive the
$web-js-reverse-master-flowofPhase 1 + Phase 3
2. CAPTCHA / business field anchors
腾讯滑块阿里滑块_randfuidfsrid
Default reading method:
- First break down the "position / image / angle chain" and the "trajectory / encryption / signature verification chain"
- Tencent / Alibaba sliders are more likely to simultaneously hit the browser feature channel and the CAPTCHA dual-parameter chain
- Default to reading
captcha-protocol-and-mobile.md
3. Packer layer / obfuscation anchors
JSVMP227226平坦流dispatcherwhile + switchopcodebasearr
Default reading method:
- Do not patch the environment first; do packer layer recovery first
- Default to reading
jsvmp-wasm-and-deobf.md - Reversely drive the
$web-js-reverse-master-flowofPhase 2
4. Runtime / bridge anchors
wasmprotobufbx-pprun_jsstorage.estimateanimationendworkerpostMessage
Default reading method:
- First determine whether it is a builder / writer shadowing, or a browser feature channel vs. runtime fork
wasm/protobuf/bx-ppleans more towardrecoverrun_js/storage.estimate/animationendleans more towardruntime
Usage order
- First read routing-matrix.md to classify the scenario.
- If the user mentions a specific article, a specific vendor, or wants to confirm coverage, then read article-index.md。
- Load only one topic reference according to the current blocker:
- Risk control, fingerprinting, vendor products:
risk-fingerprint-and-vendors.md - Browser channels, environment patching, automation countermeasures:
browser-runtime-and-env.md JSVMP, flattening flow,wasm, deobfuscation:jsvmp-wasm-and-deobf.md- CAPTCHAs, protocol parameters, mobile cases:
captcha-protocol-and-mobile.md
- Risk control, fingerprinting, vendor products:
- Then hand off the task to the most appropriate execution skill.
Reinforcement rules:
- When
Akamai/Kasada/PX/reese84/同盾/a_bogusis hit, do not discuss purecalc directly unless the evidence is very sufficient. - When
JSVMP/227/226/平坦流/混淆is hit, by default only restore the minimal slice, do not do a full beautify. - When
wasm/protobuf/rid/bx-ppis hit, first look for the builder, the bridge layer, and the write-back boundary. - When
run_js/storage.estimate/animationendis hit, first treat it as runtime fork evidence, do not directly classify it as a “missing object”.
Handoff rules
Overall control / forensics
- Complex web tasks default back to
$web-js-reverse-master-flow - When stage determination and tooling are needed, go back to
$jsr-reverse - When minimal request chain / sink localization is needed, go back to
$jsr-locateor$js-reverse-trace-hook
Shell restoration
JSVMP/ dispatcher / flattening flow:$jsr-recover- Control-flow false-branch pruning:
$js-controlflow-truth-sampling-prune - Aliases, string pools, multi-layer assignments:
$js-ast-binding-alias-deobf - Wasm-type VM:
$js-wasm-vmp-ir-lifting - Webpack runtime / bundle bridge:
$js-webpack-runtime-node-reuse
Runtime and environment patching
- Browser and Node fork:
$jsr-runtime - Minimal environment migration:
$env-patch - Already runs but the result still drifts:
$js-runtime-diff-env-patching - Anti-debugging / DevTools friction:
$js-reverse-env-antidebug
Stable reproduction / protocol
- Parameter chain replay and regression:
$js-reverse-sign-replay - CAPTCHA dual-parameter chain:
$captcha-parameter-chain-bisection - Schema-less protobuf binary:
$protobuf-schema-backfill - Android-side QUIC / So packet capture downgrade:
$android-quic-downgrade-hook-capture
What you should output
When using this skill, prioritize outputting the following content, rather than speaking generally about cases:
- Which type of
1997.procase the current goal most resembles - The common “hidden state carriers / hidden channels / shell forms” of this type of case
- The first three on-site evidence points to verify
- Which reference to read
- Which execution skill to switch to next, and why
- Assumptions that are still unproven
If the current task hits JSVMP / 平坦流 / wasm / 混淆, you must additionally output:
- Whether it currently looks more like a
dispatchershell, a string-decryption shell, awasmbridge, or a browser feature channel - What the key state carrier is:
ip/g, register arrays, stack objects, constant pools, style final state, storage, message channels - How deep the minimal restoration needs to go: only the entry / builder, or does it need the key
opcodefamily / imports / exports - Why it should currently first
recover, firstruntime, or first go back tolocate
If the current task hits Akamai/Kasada/PX/reese84/同盾/a_bogus/腾讯滑块/阿里滑块/rid/fuid/fs/bx-pp/run_js/storage.estimate/animationend, you must additionally output:
- The most common hidden state carrier for this type of problem
- The most likely first fork point
- Misoperation that should not be done first
- Which phase of
$web-js-reverse-master-flowshould be returned to
Do not use it this way
- Do not treat "similar vendor names" as proof that the algorithms are the same.
- Do not skip real browser evidence and directly apply historical cases to do pure computation.
- Do not load all references by default; read only the one or two most relevant ones.
- Do not let case experience override the real live situation. What this skill provides is a "starting point for the knife", not the evidence itself.
- Do not default to full lifting / full decompilation just because you saw
wasmorJSVMP.