本帖最后由 范爷我怕怕 于 2026-8-14 11:46 编辑
a_bogus 签名生成 打开F12 看请求,URL 后面有一大串: a_bogus=Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79...
这是抖音风控 bdms 在浏览器里算出来的防伪签名。服务器收到请求后会验这串对不对;不对就 403 或空数据。 源码作用:把浏览器里那套 JS 算法逆向还原成 Python,不用开浏览器也能自己算。
收集原料:URL 参数、POST body、UA、浏览器指纹 对应: a_bogus.py
双重 SM3 哈希 query 和 body(加盐 dhzx) 对应:sm3.py
RC4 加密 UA,再用魔改 Base64 编码 对应:custom_b64.py
拼数据包:时间戳 + aid(1383) + pageId(30026) + 指纹 + 哈希字节 对应 a_bogus.py
256 数组洗牌 XOR + 随机前缀 + 最终魔改 Base64 → 输出 对应 a_bogus.py
一句话:把 URL 和浏览器信息混在一起,哈希 + 加密 + 混淆,最后变成那串乱码。
PS:第 5 步会加 12 字节随机前缀,服务器验的是算法对不对,不是比对固定字符串。 怎么用from algo.a_bogus import generate_a_bogus
query = "device_platform=web&aid=1383&msToken=xxx&verifyFp=yyy" a_bogus = generate_a_bogus(query)
POST 要把 body 也传进去: from algo.a_bogus import FeigeABogus
signer = FeigeABogus(user_agent="UA", browser_fp="指纹") a_bogus = signer.sign_query(query, body='{"page":0}')
算法从飞鸽 Electron 内嵌的 `bdms.js`(JSVMP 虚拟机保护)逆向还原
抖音飞鸽a_bogus算法分享.zip
(7.07 KB, 下载次数: 17, 售价: 5 枚 精币)
|