Summary
定位 JS 加密参数的生成入口(函数位置+调用链+加密类型)。 TRIGGER when: 用户提到请求中的加密字段、签名参数、token生成、加密入口,或要求分析请求头/URL/Body中某个参数怎么来的。包括但不限于"找加密入口"、"xxx在哪生成"、"请求头里的xxx"、"签名怎么算的"、"这个token哪来的"…
zxzvsdcj/ai-reverse-toolkit · Archived
>- 定位 JS 加密参数的生成? TRIGGER when: 用户提到请求中的加密字段、签名参数、token生成、加密? DO NOT TRIGGER when: 用户只是想看请求?
npx skills add zxzvsdcj/ai-reverse-toolkit --skill find-crypto-entry
定位 JS 加密参数的生成入口(函数位置+调用链+加密类型)。 TRIGGER when: 用户提到请求中的加密字段、签名参数、token生成、加密入口,或要求分析请求头/URL/Body中某个参数怎么来的。包括但不限于"找加密入口"、"xxx在哪生成"、"请求头里的xxx"、"签名怎么算的"、"这个token哪来的"…
This repository is archived — consider an actively maintained alternative.
>- 在 Node.js 中运行浏览器加密 JS(补环境)。env_core.js 提供函数伪? TRIGGER when: 用户说"补环…
5 installs>- WebAssembly (WASM) 逆向分析(提取→反汇编→动态分析→算法还原/直接调用)。 TRIGGER when: 用户遇…
2 installs>- 浏览器/客户端指纹分析与绕过方案(TLS/HTTP2/TCP/浏览器 4 层指纹检测与伪造)。基于 fingerprint…
2 installs>- Android App 逆向分析? TRIGGER when: 用户提到 Android 逆向、App 抓? DO NOT TRIGGER when: 只是…
2 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Crypto market leaderboards — ranked aggregate feeds across the whole market: social-hype/sentim…
8K installsProvides cryptography attack techniques for CTF challenges.
7.5K installsAnalyze cryptocurrency projects with tokenomics, on-chain metrics, and market analysis. Generat…
4K installsExtracts protocol message flow from source code, RFCs, academic papers, pseudocode, informal pr…
3.2K installsGet cryptocurrency market data. Get Binance AI analysis report. Get blockchain news updates.
3K installs>- Lattice-based cryptanalysis playbook. Use when attacking RSA via Coppersmith small roots, re…
2.9K installsOther skills from zxzvsdcj/ai-reverse-toolkit.
npx skills add zxzvsdcj/ai-reverse-toolkit
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
6,782 B
SUMMARY.md
564 B
定位加密参数 $ARGUMENTS 的生成入口。
目标:找到生成该参数的函数位置(脚本 URL + 行列号 + 函数名 + 调用路径 + 加密类型)。
根据信号选择策略,不要按固定顺序执行:
直接获取目标请求的 JS 调用栈,从栈中定位加密逻辑:
1. list_network_requests → 找到目标请求的 reqid
2. get_request_initiator(reqid) → 获取发起该请求的完整 JS 调用栈
3. 分析栈帧:跳过底层框架(axios/fetch),在中上层找业务代码
4. 在可疑帧处设断点验证
适用场景: 已知目标请求、能复现触发。这是 js-reverse-mcp 提供的最高效路径——一次调用直接拿到完整调用栈,无需手动设断点。
用 searchinsources 搜参数名(带 excludeMinified=false)。大多数情况下直接找到赋值位置,然后读上下文追溯来源。
适用场景: 参数名是明文字符串,未被混淆。
breakonxhr 设在请求 URL 特征上,触发后从调用栈中找业务代码帧:
1. break_on_xhr(url_pattern) → 设置 XHR 断点
2. 触发请求(刷新页面或操作界面)
3. get_paused_info() → 获取调用栈 + 作用域变量
4. evaluate_script(expression, frameIndex) → 在指定帧检查变量
适用场景: 静态搜索无结果,需要从请求倒推。
用 trace_function 追踪可疑函数的调用:
1. 通过策略 B/C 找到可疑函数位置
2. trace_function(scriptId, lineNumber) → 设置 logpoint 追踪
3. 触发请求 → 观察函数调用参数和频率
4. 不中断执行,适合追踪高频调用的加密函数
适用场景: 需要观察函数调用模式(参数、频率),或断点会影响执行流(如有反调试检测时)。
在页面加载前注入拦截脚本,捕获加密函数调用:
1. inject_before_load(script) → 注入 Hook 脚本
2. 脚本示例:劫持 XMLHttpRequest.prototype.setRequestHeader / fetch
3. 刷新页面 → 拦截脚本在所有 JS 执行前生效
4. list_console_messages() → 读取拦截到的信息
适用场景: 加密在页面初始化阶段完成,普通断点来不及;或需要 Hook 原生 API(setRequestHeader/fetch)来全量捕获。
定位 WebSocket 协议中的加密参数:
1. get_websocket_messages() → 列出 WebSocket 连接和消息概览
2. get_websocket_messages(wsId) → 获取特定连接的消息详情
3. 分析消息模式(JSON? 二进制? Protobuf?)
4. 在 WebSocket 构造/send 处设断点追溯加密逻辑
适用场景: 目标不是 HTTP 请求而是 WebSocket 消息中的加密字段。
多策略组合: A/B/C 可以组合使用——先 A 快速获取调用栈定位范围,再 B 静态搜索确认代码,最后 D 追踪验证。
agent 在逆向分析中容易踩的坑,这些是无法通过推理得出的经验:
headers["x-sign"] = encrypt(data)。静态搜索直接找到。window.h5sign),业务代码调用其方法。静态搜索能找到调用处,但 SDK 内部代码全被混淆。当加密逻辑在 OB 混淆的文件中(特征:_0x 前缀、大型字符串数组、RC4 解密函数),所有字符串都被加密,静态搜索在该文件内无法匹配任何明文。但调用该文件的业务代码通常未混淆,从业务代码侧搜索更高效。
XHR 断点命中在 send() 调用处,调用栈底部通常是框架代码(axios/fetch wrapper)。加密逻辑在栈的中上层。直接跳过底部框架帧,关注业务代码帧。
js-reverse-mcp 内置了 Patchright 反检测引擎,但某些场景仍需注意:
select_frame 切换到目标 frame 再搜索/断点。list_scripts 中是否有 SW 脚本。evaluatescript 直接检查变量比单步跟踪高效得多。frameIndex 参数可以在指定调用帧执行表达式,检查该帧的局部变量。找到以下信息即为完成:
入口位置:
- 参数:$ARGUMENTS
- 脚本:https://example.com/static/js/main.abc123.js
- 位置:第 X 行,第 Y 列
- 函数:functionName (或 anonymous)
- 调用路径:request → addSign → encrypt
- 加密类型:[标准算法名 | 外部SDK | WASM | VM保护 | 未知/需解混淆]
下一步建议:
- 标准算法 → /ast-deobfuscate 还原后用 Python 实现
- 外部 SDK → /env-patch 补环境运行
- WASM → /wasm-reverse 分析 WASM 模块
- VM 保护 → /env-patch 补环境 + 直接调用
只找入口,不做算法还原。