实际前端调试或接口分析中,很多网站都会对关键请求参数进行加密处理。想要自动化访问这些接口,就需要理解并复用其加密逻辑。本文总结了一套通用的思路和方法,找到其加解密位置可无限获取所需值。演示内容为获取sing值
1. 定位目标接口与参数
首先,需要通过浏览器开发者工具(DevTools)的 Network 面板,确认哪些接口包含动态加密参数;也可直接搜索返回的数据接口,定位真实调用点。通过对比连续请求的差异,可以判断接口依赖哪些动态参数,例如时间戳、随机值或用户标识等。
下图为搜索确定请求接口
下图为某请求接口所属参数
2. 搜索加密逻辑入口
加密逻辑一般存在于页面加载的 JS 文件中。
常用方法包括:
● 使用 Sources 面板的“全局搜索”定位字段名或关键函数
● 在可疑函数处下断点,再次请求观察加密前后的值,如果触发基本就是所需值,在发开请求与接口的值对比
通过这些方式可以准确确定加密函数的入口及调用时机。
下图为利用搜索获取所需参数位置,观察后发现所需sing参数为k生成,在观察到 k 为 i(d.token + "&" + j+ "&" + h + "&" + c.data) 方法生成的值
3. 在本地或浏览器中“可调用化”加密逻辑
找到加密函数后,需要让它可以被你自己的脚本调用,常见方式包括:
● 无头浏览器(Playwright / Puppeteer)执行加密逻辑
在页面上下文中直接调用加密函数,实现自动化批量生成。
● WASM 模块复用
截获 wasm 导出函数,在 Node 或 Python 中直接调用。
● WebSocket / RPC 双向通道(你实际使用的方法)
在浏览器中嵌入一个 WebSocket 客户端,把每次加密结果以 RPC 形式发送到本地脚本,例如:
const ws = new WebSocket("ws://127.0.0.1:9999");
window.__sign = function (params) {
const result = realSign(params);
ws.send(JSON.stringify({ type: "sign", data: result }));
return result;
};
下图为嵌入rpc 获取调用所需值
利用python代码本地通讯获取参数
[Python] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 | import requestsdata = { "group": "rpc", "action": "tb", "data": "传输数据"}res = requests.get("http://127.0.0.1:5620/business-demo/invoke", params=data)print(res.text) |
本地脚本即可实时收到加密参数,实现真正的不改逻辑、不改页面,只是“监听并转发”。
这种方式非常高效,适合需要持续调用加密函数或对抗较强混淆的场景。
4. 自动化生成与调用参数
最终需要把整个流程串起来:
1. 获取运行环境信息(cookie、headers、动态参数等)
2. 通过 WebSocket/RPC 或无头浏览器调用加密函数
3. 将生成的加密参数用于请求接口,实现自动化运行
这样即可构建一个可重复、可扩展、可批量执行的请求生成系统
炎酷旅游地图导览系统¥4180.00
自适应首页代理¥880.00
轻站SASS至尊版¥32780.00
前端加密函数利用 RPC 调用实现自动化(免费教程)...¥0
Lua插件编程¥175.00
网站安全维护保护更新托管备份服务器代运维包月硬件(详情咨询客服)...¥1000.00