初亦泽 发表于 2020-12-21 17:50

QQ音乐API签名算法分析

本帖最后由 初亦泽 于 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是

```html
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



千雨呀 发表于 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 , 2) + 1, 1)
    sign = sign + 取文本中间 (zd, 位或 (左移 (位与 (Ls , 3), 4), 右移 (Ls , 4)) + 1, 1)
    sign = sign + 取文本中间 (zd, 位或 (左移 (位与 (Ls , 15), 2), 右移 (Ls , 6)) + 1, 1)
    sign = sign + 取文本中间 (zd, 位与 (Ls , 63) + 1, 1)
    i = i + 3
.计次循环尾 ()
sign = sign + 取文本中间 (zd, 右移 (Ls , 2) + 1, 1)
sign = sign + 取文本中间 (zd, 左移 (位与 (Ls , 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

学习到了,这就去搞KW

夏天by 发表于 2020-12-21 18:06

谢谢分享

鲜血淋漓一舞倾 发表于 2020-12-21 18:46


谢谢分享

oxding 发表于 2020-12-21 19:52


谢谢分享

kuangshen133 发表于 2020-12-21 19:58

谢谢楼主分享了{:1_893:}

列明 发表于 2020-12-21 20:09

我說怎麽有那麽多聚合音樂網站,原來是有高手都做出來文檔了。

akkadian 发表于 2020-12-21 21:02

不错的学习文章

kzx5208 发表于 2020-12-21 21:25

谢谢楼主分享

pjw7600210 发表于 2020-12-21 23:06

感谢分享
页: [1] 2 3 4 5 6 7 8
查看完整版本: QQ音乐API签名算法分析