python-js逆向之网易云music

逆向网址:网易云歌曲

说明:该网站的歌曲的链接是加密的 如图

话不多说直接上案例

1.找到音频链接的生成接口

我们检索该加密后的值  0000196adc365ab0fa90a308443121(当然vuutv的值也可以)

这串值肯定是在别的地方传过来的,我们要找到该接口

这里我们就可以确定 音频链接是在这叫 v1 的接口响应出来的

2.分析接口

接下来只需要分析该接口 如图

加密值有三个:

        1.csrf_token 分析几次可知是常数(对每个用户来说是唯一的)

        2.params 

        3.encSecKey 

下面两个肯定都是要逆向的 

3.找到数据加密位置并逆向

找到数据加密位置方法:直接检索关键词 params和encSecKey 都可以 如图

继续分析

var bYE2x = window.asrsea(JSON.stringify(i0x), bjp3x(["流泪", "强"]), bjp3x(zy5D.md), bjp3x(["爱心", "女孩", "惊恐", "大笑"]));

一个一个分析,可以知道 iox中变的就只有id 而后面的三个都是常数

再就是分析加密函数 window.asrsea 我们进入函数内部 简单分析 如图

可以发现他们需要的函数都封装在一个自执行方法中,所以我们直接将这自执行方法扣下来

然后运行会报 ReferenceError: CryptoJS is not defined 这个错误 

他的意思是:CryptoJS未定义

这里有两个解决办法:

        1.到前端去找CryptoJS的定义位置

        2.用nodejs中的crypto-js自己实现(经测试没问题)

如图

接下来我们继续运行,缺啥补啥就行,一共差不多30多个函数

结果没问题

4.通过py实现

我们要先获取到歌名和歌的id

然后获取到对应的加密参数 最后发送请求获取歌曲二进制数据即可

ok 没问题 以上就是全部 感谢观看

代码用途
本代码仅供学习、研究和交流使用,禁止用于任何商业用途或非法用途。使用者应对其行为负责,作者不对代码的滥用或不当使用承担任何责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值