某抑云音乐歌曲链接接口逆向

​​​​​逆向网址

aHR0cHM6Ly9tdXNpYy4xNjMuY29t


逆向链接 

aHR0cHM6Ly9tdXNpYy4xNjMuY29tLyMvc29uZz9pZD0yMTA4ODI3MDEz


 逆向接口 

aHR0cHM6Ly9tdXNpYy4xNjMuY29tL3dlYXBpL3NvbmcvZW5oYW5jZS9wbGF5ZXIvdXJsL3Yx


逆向过程

请求方式:POST
参数构成:

        【params】  Dr5PjFX9UmxjGjvzghpTmOLNBDkkgxkFsxqZxr0iEY2bMHmTl3zK1pb6KXAlC6jaGU3WVagwqAHBltXe2m0Sn5jPuAXFIQLZB/dkSrptQ5O7sKTldVelBecqSEddmhiVcSVpotqSIPUeQab3YAz0Ug==

       【encSecKey】 baf1566a6a95c1930450121bd12ed940dbe2a8e8d318bcbc680fcf405734a1f556e127ef5335e573206d9f9413dfdc293fd96bb15ea6448d6413e5c759c1df4cf57b32d8a09eea1de30ac936ab08df31e15b7fc537a6129e0af1d775fc7dcc80e1fc67eb2891cc0413818b1659051703b79fecd9de14e9a3d3a7c0c022ef2a56

调试过程

根据断点可快速进入发包内容

            XHR 方断点方式进入【core_68e6bfa8b271f010cf6aea1c538364fc.js】

            全局搜索【 encSecKey 】

        

 变量  bVi1x 结果值为我们需要的结果 【window.asrsea(JSON.stringify(i7b), bsu0x(["流泪", "强"]), bsu0x(Xo3x.md), bsu0x(["爱心", "女孩", "惊恐", "大笑"]));

断点技巧:调试可知 X7Q 为接口地址

那么可以将断点设置为:条件断点

X7Q.indexOf( 'enhance' ) != -1

意思就是请求链接中匹配到关键词【enhance】 才会断住,其余链接则放过


 扣取代码

ar bVi1x = window.asrsea(JSON.stringify(i7b), bsu0x(["流泪", "强"]), bsu0x(Xo3x.md), bsu0x(["爱心", "女孩", "惊恐", "大笑"]));
var c7f = NEJ.P
, ev8n = c7f("nej.g")
, u7n = c7f("nej.j")
, j7c = c7f("nej.u")
, Xo3x = c7f("nm.x.ek")
, l7e = c7f("nm.x");

var bsu0x = function(cxU6O) {
   var m7f = [];
   j7c.bh7a(cxU6O, function(cxT6N) {
       m7f.push(Xo3x.emj[cxT6N])
    });
   return m7f.join("")
};

根据调试可知:参数 【i7b】 值是定值,ids为歌曲编号

 那么主要问题就是上述代码中的变量是如何来的?

var c7f = NEJ.P
, ev8n = c7f("nej.g")
, u7n = c7f("nej.j")
, j7c = c7f("nej.u")
, Xo3x = c7f("nm.x.ek")
, l7e = c7f("nm.x");

那么我给上述位置打上断点, 刷新页面。

 在控制台中输出【c7f】点击可直接进入到函数体内部

将该自执行体复制下来,

依此方式扣取下来发现内部很多都在混合调用。 很难辨别那个自执行是我们需要的 那个不是我们需要的, 干脆将我们定位到加密的函数之上的所有均拿出来

确定加密

那么就会发现关键词【 CryptoJS 】加密库

调用改写

那么这时候只需要稍微改写下我们的代码文件即可。

function getEnc( ids ){

    var bsu0x = function(cxU6O) {
        var m7f = [];
        j7c.bh7a(cxU6O, function(cxT6N) {
            m7f.push(Xo3x.emj[cxT6N])
        });
        return m7f.join("")
    };

    var str = {
        "ids": ids,
        "level":"standard",
        "encodeType":"aac",
        "csrf_token":""
    }

    return window.asrsea(JSON.stringify(str), bsu0x(["流泪", "强"]), bsu0x(Xo3x.md), bsu0x(["爱心", "女孩", "惊恐", "大笑"]));
}
调用方式
console.log( getEnc([454698657]) )

执行结果

****************************

扣取下代码后,在浏览器环境下运行是没有问题的,但是我们单独执行却不吐值,这主要是因为存在环境检测,所以还需要进行补环境操作。我们下篇文章在讲如何进行补环境

补环境调试某抑云音乐歌曲链接接口逆向之补环境-CSDN博客

  • 31
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值