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 没问题 以上就是全部 感谢观看
代码用途
本代码仅供学习、研究和交流使用,禁止用于任何商业用途或非法用途。使用者应对其行为负责,作者不对代码的滥用或不当使用承担任何责任。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)