Js逆向案例—网易云音乐

在这里插入图片描述
首先找到所需响应所在位置,点开Initiator。点开第一个js文件。
url未登录状态csrf_token为空,不影响操作
点开第一个js文件之后,在弹出的页面所选行打上断点,刷新页面,第一个url并不是我们所要的url,这里我们按F8往下走
在这里插入图片描述
出现如上图url即为我们要分析的请求,此处data中有两个参数,此处参数既然已经加密完成,那么我们就需要往下走,继续按上图箭头方向往下查找相关加密位置
找到window.asrsea函数即可,此为加密入口
取消掉原来的断点,在新的位置打上断点再次刷新
进入asrsea函数内部即为相关js代码,下方为python还原代码:

def aes(text, i):
    text = text.encode('utf-8')
    aes = AES.new(i.encode('utf-8'), mode=AES.MODE_CBC, iv='0102030405060708'.encode('utf-8'))  # ECB一般不需要iv
    text_len = 16 - len(text) % 16
    text += (text_len * chr(text_len)).encode('utf-8')
    resp = aes.encrypt(text)
    return base64.b64encode(resp).decode()


def main(id):
    h = {}
    data_text = '{"rid":"R_SO_4_%s","threadId":"R_SO_4_%s","pageNo":"1","pageSize":"20","cursor":"-1","offset":"0","orderType":"1","csrf_token":""}' % (id, id)
    const1 = "010001"
    const2 = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7"
    const3 = "0CoJUm6Qyw8W8jud"
    i = "DEpPIq7Alyv6xXOk"
    h['encText'] =aes(data_text, const3)
    h['encText'] = aes(h['encText'], i),
    # h['encSecKey'] = c(i, e, f)
    h['encSecKey'] = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7"
    headers = {
        'Cookie': '_ntes_nnid=73220b7ba7a407e037463c0626da2d6a,1628652294087; _ntes_nuid=73220b7ba7a407e037463c0626da2d6a; vinfo_n_f_l_n3=0a12faba88adcf4d.1.0.1632972543466.0.1632972549420; _iuqxldmzr_=32; NMTID=00OSGcCcKEHBX3B9Eb6rpq_6AOig24AAAF-4nrJgQ; WEVNSM=1.0.0; WNMCID=ofqpdv.1644477203609.01.0; WM_TID=6JuzaA2c8dVEQVUVREc%2B%2Be0ML53zCRyS; playerid=22620139; WM_NI=wzSm80PLVdp%2F%2FWgeVyJDMCqbgwNHk9e1nWUcGfuHPH%2Bq3XMs0rX4dN11eHw9hnawA9e8zChjb3YxTcVYFV%2FVXME7WIAStL1ksfhoWqctSsf5VAizp0M0z8KW86sTbc6UOWs%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6eeaec4539689a7b2e940ade78eb7d45b868b9fbbf17aa2b1b791fb48a5e9b682e62af0fea7c3b92ab5a69d8ebb3c94949a85f325ed89a986d5738a9c83a4f46aa5a982a9ea33a7efa2b8d86985babba9d344e9affdb9d079f4ae98d5e746f3efaba9f633acb2af98c433a7e8b6a4eb62a2ed9799d76996878ab7ae5e9c938bd8d643838dbcadb461b1baa890d67ba1ac9d94e53f969fa79bf33c8ff0b6d9ca5dfceabdb5e169f68b81b8f237e2a3; JSESSIONID-WYYY=aTAoTpqsMM3el36ZfBUW2Q0zfQ2V9aANY2WXy%5CBPQ2djJSBqUXVOQIaEo9T%2FUe0%2BYbuI%5CigkkOvx8OS5f9UYwRCsq0y8HfS%2ByRCuC44SMRmKvfkmGpenqqdXBPbEGyEibKS5zCyXU8aa3w8z5qfcu%2FN0Iqrr4Wysz5GwKTX23n7RdXTw%3A1644808290336',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded',
    }
    data = {
        'params': h['encText'][0],
        'encSecKey':"01cee9438db0034b2262ca105a2ad831b409761f7de8799b4aa63c20f8c7ea3759292e1145988db4787465ec9c47a0a87df0e5d95809f31a30e99d77fa4d301c8c3d1e73078687314a5fd67fc6f709ddbbdbe678644260ce88b10d9f08a6ae81bd47f7bed43efb7d646b7d9157c591b9cc8f53fee6facab63a4eb6f6320b31b7"
    }
    resp = requests.post(comment_url, data=data, headers=headers, verify=False)
    resp = resp.json()
    print(resp)
    hotComments = resp['data']['hotComments']
    for com in hotComments:
        content = com['content']
        print(content)


if __name__ == '__main__':
    comment_url = '评论的url'
    main('1851652156')

版权问题,很多图没办法贴出来,有疑问可评论提问。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值