QQ音乐音质加密

不同音质下载链接中的songmid与vkey均不同,getplaysong链接只能获取到m4a的vkey,C4修改为M5可下载mp3,但其他音质则无法如此操作,修改getplaysong中的参数,要不purl内容无变化,要不直接为空,遂放弃.修改浏览器ua,获取到的链接均为m4a,应该在网页端没有其他音质的接口 使用fiddler对QQ音乐Android版多个版本进行抓包分析得知在版本号为5.0的客户端中vkey为固定值,在下载多个歌曲后得知C4与M5,M8与O6为同一vkey,flac为另一vkey,修改songmid即可下载不同的歌曲,但vkey存在有效期,大概为一天半时间 通过抓包发现歌曲下载前均有一个请求为http://proxy.music.qq.com/base/fcgi-bin/fcg_music_express_mobile2.fcg,请求方式为post,data参数有很多uid,mnc,authst,musicname...其中musicname为songmid,网上搜索得知有一于此请求极为相似的接口用来获取vkey(请求方法为get),于是用get方法进行请求,但返回内容为'请求方法不被允许',遂使用post方法进行请求,但返回结果为乱码,以二进制方法读取后使用多种编码方式进行解码,均无法转换,推测进行了加密 对一个能进行高音质下载的软件**进行抓包分析,发现在进行下载前会发生两个请求,一个为fcg_music(使用不同的musicname)一个为getplaysong(均为C4),推测为使用fcg_music返回的内容对getsongkey获取的vkey进行解密,获取通用vkey(getplaysong获取的vkey与下载链接中的vkey不同且下载链接中的vkey长度小于getplaysong),对其软件网页端进行抓包,下载链接获取方法封装在api中,无法获取 对通用vkey进行分析得知vkey的前16个符号有规律,如M8为852A65CF678FDE73,由通用vkey长度小于getplaysong获取的vkey推测不同的音质下载链接vkey前一部分为固定值,后一部分则是动态更新,服务器根据不同的songmid结合通用vkey进行加密得到只适用于不同歌曲不同音质的vkey,所以关键在于获取动态变化的vkey后半部分 通过对QQ音乐Android客户端下载歌曲前后的请求分析(下载前会先请求fcg_ music再请求getplaysong),推测与前面提及的软件思路是一样的 为了获取QQ音乐不同音质的下载链接,在十天内花费了大量时间与精力,但最终却是一无所获,终究还是能力不足 网上搜索得知一api:api.bzqll.com/music/tence…

转载于:https://juejin.im/post/5c9f806451882567d64ec5de

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值