用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/715494637/reverse-skill --skill find-crypto-entry命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | find-crypto-entry |
| description | 定位 JS 中参数的生成入口。当用户问"xxx 参数在哪生成"、"找加密入口"、"定位签名函数"、"请求参数怎么加密的"时使用 |
| argument-hint | ["参数名"] |
定位加密参数 $ARGUMENTS 的生成入口。
输出目标:入口位置(脚本URL + 行号/列号 + 函数名)
最高效路径,直接获取已发生请求的调用栈:
list_network_requests({ resourceTypes: ["xhr", "fetch"] }) - 列出请求get_network_request(reqid) - 确认 $ARGUMENTS 参数位置(URL/Header/Body)get_request_initiator(requestId) - 直接获取 JS 调用栈结果判断:
当 Step 0 无法定位时,进行静态分析:
search_in_sources({ query: "$ARGUMENTS" }) - 搜索加密参数名
分流逻辑:
headers.$ARGUMENTS = ...)interceptors.request.useXMLHttpRequest.prototype.sendwindow.fetch =find_in_script(scriptId, query) - 获取精确行号列号
结果判断:
静态搜索无法锁定时,设置断点:
方案 A(推荐):
set_breakpoint_on_text({ text: "$ARGUMENTS", urlFilter: "main" })
方案 B:
break_on_xhr({ url: "api关键词" })
⚠️ 提示用户:请在浏览器中触发包含 $ARGUMENTS 参数的请求
结果判断:
获取调用栈后,执行灰名单过滤:
get_paused_info({ includeScopes: true })
过滤规则:
| 级别 | 特征 | 动作 |
|---|---|---|
| Level 1 跳过 | axios, react-dom, vue, jquery, webpack/runtime | 框架噪声,跳过 |
| Level 2 检查 | 含 security, encrypt, auth, fingerprint 的 node_modules | 可疑安全SDK,检查 |
| Level 3 优先 | 非 node_modules(/src/, /app/) | 业务代码,优先检查 |
结果判断:
在可疑帧上验证:
evaluate_on_callframe({
expression: "arguments",
frameIndex: 0
})
寻找加密特征:
^, &, |, >>>0x67452301(MD5), 0x6a09e667(SHA256)结果判断:
找到入口后,输出:
入口位置:
- 参数:$ARGUMENTS
- 脚本:https://example.com/static/js/main.abc123.js
- 位置:第 1 行,第 45678 列
- 函数:anonymous (或具体函数名)
- 调用路径:request → addSign → encrypt
get_request_initiator - 无需断点,最高效set_breakpoint_on_text - 对压缩代码友好