吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12246|回复: 71
收起左侧

[Web逆向] QQ音乐API签名算法分析

  [复制链接]
初亦泽 发表于 2020-12-21 17:50
本帖最后由 初亦泽 于 2021-1-3 16:44 编辑

1、背景

不知道什么时候开始,各家音乐APP都开始对API进行加密,最近一段时间对六大音乐平台的加密算法进行了研究,逆向了网页端、安卓端等等,已经掌握了各家的加密算法。

平台 加密算法 非加密接口 专属资源 海外IP支持
QQ MD5 存在,可完全替代加密接口 需要绿钻Cookie 不支持,需要国内IP代{过}{滤}理
KW DES 存在,可完全替代加密接口 不需要额外信息 支持
KG MD5 存在,不能完全替代加密接口 需要豪华会员Cookie 不支持,需要国内IP代{过}{滤}理,或者在请求url后面加上area_code=0
WY AES、RSA、MD5 存在,少数接口不能使用未加密接口,如登录 需要黑胶Cookie 不支持,但可通过设置X-Real-IP规避
MG MD5 存在,可完全替代加密接口 不需要额外信息 支持
XM MD5 存在,可完全替代加密接口 不需要额外信息 不支持,需要国内IP代{过}{滤}理

2、QQ音乐sign计算

首先说明,所有加密接口都有非加密的替代接口,但是以后肯定是向加密接口发展,两个最基础的API是

https://u.y.qq.com/cgi-bin/musicu.fcg  支持加密和非加密
https://u.y.qq.com/cgi-bin/musics.fcg 仅支持加密

具体的下面的分析写在PDF里,可以从附件下载。

也可以看看在线版:https://blog.csdn.net/qq_23594799/article/details/111477320



QQ音乐API分析之-加密参数分析(sign计算).zip (1.42 MB, 下载次数: 300)

免费评分

参与人数 34威望 +1 吾爱币 +67 热心值 +31 收起 理由
Hui_jiang + 1 + 1 我很赞同!
520王木木 + 1 我很赞同!有没有直接可以下载音乐的软件
1580501717 + 1 我很赞同!
huazai1 + 1 + 1 我很赞同!
xwj1612 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
nullable + 1 + 1 仍然感谢分享
德德大王 + 1 + 1 用心讨论,共获提升!
wanttobeno + 2 + 1 热心回复!
L.7_129 + 1 + 1 谢谢@Thanks!
我爱小彤 + 1 + 1 我很赞同!
shiina0831 + 1 + 1 谢谢@Thanks!
我是神的亲戚 + 1 + 1 我很赞同!
无治 + 1 + 1 我很赞同!
kosaku + 1 + 1 谢谢@Thanks!
Narumi-Kaede + 1 谢谢@Thanks!
染个我 + 1 + 1 我很赞同!
涛之雨 + 10 + 1 用心讨论,共获提升!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
我是一个外星人 + 1 谢谢@Thanks!
zhaozhikang521 + 1 + 1 热心回复!
wkiwi + 1 谢谢@Thanks!
xifanu + 1 + 1 谢谢@Thanks!
danran + 2 + 1 我很赞同!
不能吃的李子 + 1 热心回复!
w92vv + 1 + 1 谢谢@Thanks!
Poner + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
无闻无问 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
空山鸟语灬 + 1 + 1 谢谢@Thanks!
akkadian + 1 + 1 我很赞同!
mzq123000 + 1 + 1 用心讨论,共获提升!
zjun777 + 1 用心讨论,共获提升!
笙若 + 1 + 1 谢谢@Thanks!
15126819695 + 1 + 1 很详细 学习了
Heilexplode + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

千雨呀 发表于 2023-3-8 20:22
.版本 2

.子程序 取sign, 文本型
.参数 提交的信息, 文本型
.局部变量 a, 字节集
.局部变量 b, 字节集
.局部变量 i, 整数型
.局部变量 MD5, 文本型
.局部变量 sign, 文本型
.局部变量 zd, 文本型
.局部变量 Ls, 整数型, , "0"

MD5 = 校验_取md5_文本 (提交的信息, 真, 真, 假)
sign = “zzb”
a = { 21, 4, 9, 26, 16, 20, 27, 30 }
.计次循环首 (取字节集长度 (a), i)
    sign = sign + 取文本中间 (MD5, 取字节集数据 (取字节集中间 (a, i, 1), 3, 1) + 1, 1)
.计次循环尾 ()
a = 字节集_十六进制到字节集 (“D42D5044C3A3A3CB9DDCFE5BCC4F6806”)
b = 字节集_十六进制到字节集 (MD5)
.计次循环首 (取字节集长度 (a), i)
    加入成员 (Ls, 位异或 (取字节集数据 (取字节集中间 (a, i, 1), 3, 1), 取字节集数据 (取字节集中间 (b, i, 1), 3, 1)))
.计次循环尾 ()
zd = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789”
i = 0
.计次循环首 (5, )
    sign = sign + 取文本中间 (zd, 右移 (Ls [i + 1], 2) + 1, 1)
    sign = sign + 取文本中间 (zd, 位或 (左移 (位与 (Ls [i + 1], 3), 4), 右移 (Ls [i + 2], 4)) + 1, 1)
    sign = sign + 取文本中间 (zd, 位或 (左移 (位与 (Ls [i + 2], 15), 2), 右移 (Ls [i + 3], 6)) + 1, 1)
    sign = sign + 取文本中间 (zd, 位与 (Ls [i + 3], 63) + 1, 1)
    i = i + 3
.计次循环尾 ()
sign = sign + 取文本中间 (zd, 右移 (Ls [i + 1], 2) + 1, 1)
sign = sign + 取文本中间 (zd, 左移 (位与 (Ls [i + 1], 3), 4) + 1, 1)
a = { 18, 11, 3, 2, 1, 7, 6, 25 }
.计次循环首 (取字节集长度 (a), i)
    sign = sign + 取文本中间 (MD5, 取字节集数据 (取字节集中间 (a, i, 1), 3, 1) + 1, 1)
.计次循环尾 ()
返回 (到小写 (sign))

不就是这个吗
Heilexplode 发表于 2020-12-21 18:01
夏天by 发表于 2020-12-21 18:06
鲜血淋漓一舞倾 发表于 2020-12-21 18:46

谢谢分享
oxding 发表于 2020-12-21 19:52

谢谢分享
kuangshen133 发表于 2020-12-21 19:58
谢谢楼主分享了
列明 发表于 2020-12-21 20:09
我說怎麽有那麽多聚合音樂網站,原來是有高手都做出來文檔了。
akkadian 发表于 2020-12-21 21:02
不错的学习文章
kzx5208 发表于 2020-12-21 21:25
谢谢楼主分享
pjw7600210 发表于 2020-12-21 23:06
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 10:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表