网易云音乐评论 破解JS加密参数

1.打开Charles
2.打开无痕谷歌浏览器,访问网易云音乐,加载全部文件,保存 js 到本地并修改

网易云音乐评论 破解JS加密参数_第1张图片

3.在搜索关键字:encSecKey

在这里可以发现GET的请求参数 paramsencSecKey 分别是 bFu8m.encTextbFu8m.encSecKey,进一步操作看 6

网易云音乐评论 破解JS加密参数_第2张图片

4.在Charles中右键 js 文件,右键选择 Map Local, 选择本地保存的 js 文件
5.打开无痕谷歌浏览器,进行点击操作,在 Console 下显示打印如下:

网易云音乐评论 破解JS加密参数_第3张图片

可以发现4个参与加密的参数,除了第一个翻页变化,其他三个参数都是固定值

{rid: "R_SO_4_432506345", offset: "20", total: "false", limit: "20", csrf_token: ""}
010001
00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7
0CoJUm6Qyw8W8jud

第5个参数为 encSecKey ,是以 i=‘FFFFFFFFFFFFFFF’

257348aecb5e556c066de214e531faadd1c55d814f9be95fd06d6bff9f4c7a41f831f6394d5a3fd2e3881736d94a02ca919d952872e7d0a50ebfa1769a7a62d512f5f1ca21aec60bc3819a9c3ffca5eca9a0dba6d6f7249b06f5965ecfff3695b54e1c28f3f624750ed39e7de08fc8493242e26dbc4484a01c76f739e135637c
6.搜索关键字 window.asrsea , 可以发现是一个 d 函数,该函数对上面 4 个参数进行了加密处理

网易云音乐评论 破解JS加密参数_第4张图片

7.分析 js 加密函数
先看 d 函数,h 是一个{},并作为返回值返回给 bFu8m
根据 a 函数得知 i 是长度为16的随机字符串,既然是随机的,就直接让 i 等于16个F
接着看,d 函数中 encText 明显就是 params,encSecKey 明显就是 encSecKey
参数 encText 经过两次 b 函数的 AES 加密,第一次对 d 也就是 json 加密,key 是第四个参数,第二次对第一次加密结果进行加密,key 是 i, 密钥偏移量iv是0102030405060708,模式是 CBC
接着看 c 函数,可以发现它的传入参数是 i、e、f,即16个F、第 2 个参数、第 3 个参数,全部是固定的值,那么无论歌曲id或评论页数如何变化,这个encSecKey都不随之发生变化

你可能感兴趣的:(爬虫)