MyFreeMP3致力于免费音乐下载,打开之后就能看到很多当下比较热门的音乐,并且页面内没有任何广告,2022年发布过一篇文章,讲解了MyfreeMP3搜索接口参数逆向,最近看了看这个网站搜索接口的参数已经修改,直接开始分析新版本token参数如何生成。
进入网站打开调试工具,随意搜索一首歌可以抓到Search包,该包提交的表单中有一个token参数为加密值,直接跟栈分析,最后能够定位到参数生成位置在下图此处
此处的代码可以修改修改,更能直观的看出加密流程,其中的a是一个长度为135的数组,先经过了qs函数获得一串长度为180的字符串,然后再经过crypto.md5方法生成wordArray对象。
function encrypt_token(e) {
const t = "yGz4n9XE9xYy2Oj5Ub7E6u9a5p5aIWZYe53Orq5wE5UgnjbWq0410WTvmLBO1Z2N";
const a = qs(t.toString(), e.toString());
return "20230327." + cryptoJS.MD5(Bs(a));
}
qs函数和Bs函数大家自行跟栈分析,文章中直接将这部分函数的代码贴出,供大家自行学习
function Bs(e) {
var s, o, i, a, l, r, c, u,