musicfree加密混淆js文件查看源网址:
1.将加密文件解密解码,//https://tool.lu/js/ 等网站
2.找到getMediaSource功能代码,
```
原代码:
async function getMediaSource(_0x5cac41, _0x361ddf) {
const _0x3c0de5 = _0x1e7ea6,
_0x562103 = (
await axios_1["default"][_0x3c0de5(0x1e1, "7v@q")](
_0x3c0de5(0x133, "YBnH") +
_0x5cac41["id"] +
"&type=song&level=" +
qualityLevels[_0x361ddf],
)
)[_0x3c0de5(0x201, "JjbU")];
return { url: _0x562103["data"][_0x3c0de5(0xe5, "YBnH")] };
}
新代码:
async function getMediaSource(_0x5cac41, _0x361ddf) {
const _0x3c0de5 = _0x1e7ea6,
_0x562103 = (
await axios_1["default"][_0x3c0de5(0x1e1, "7v@q")](
_0x3c0de5(0x133, "YBnH") +
_0x5cac41["id"] +
"&type=song&level=" +
qualityLevels[_0x361ddf],
)
);
console.log("res:", _0x562103);
return { url: _0x562103["data"][_0x3c0de5(0xe5, "YBnH")] };
<1>.将axios_1调用完成后面返回的.data对应的代码删除掉,如:[_0x3c0de5(0x201, "JjbU")]删除这个代码
<2>.再在后面补一句console.log("res:", _0x562103); (_0x562103对应返回的新名字)
```
3.在解密的代码最后加一段代码执行
```
const musicItem = {'id':'ec1a18bbd6b61cb203e656b91f5cf2d1'};
const quality = '320';
// 示例调用
(async () => {
const redirectUrl = await getMediaSource(musicItem,quality);
console.log("最终的重定向 URL:", redirectUrl);
})();
注意:
1.变换kw,qq,wy,kg的ID
//QQ是songmid
const musicItem = {'songmid':'001ufyHx10iWpg'};
```
4.nodejs运行时提示缺少模块时,在nodejs目录下右键运行bash,再npm install xxx添加模块,添加错误时,重新安装nodejs一般就行了