道家人 发表于 2025-3-26 13:15:39

音乐webpack(通杀webpack-1)

本文章中所有内容仅供学习交流使用,不用于其他任何目标,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处置惩罚,严禁用于贸易用途和非法用途,否则由此产生的一切后果均与作者无关!
本文章未经许可禁止转载,禁止任何修改后二次流传,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,如有侵权,请接洽作者删除
目标:aHR0cHM6Ly95LnFxLmNvbS9uL3J5cXEvc2VhcmNoP3c9JUU3JTlDJTlGJUU3JTlBJTg0JUU3JTg4JUIxJUU0JUJEJUEw
革新一下,这是我们要逆向的接口
https://i-blog.csdnimg.cn/direct/06cf1d7797e6452d90e6c4bed1d1a81d.png
看一下载荷,第一个是时间戳,第二个是sign,是我们接下来的目标
https://i-blog.csdnimg.cn/img_convert/6b932e31038609ef147f170a6f398f57.png
全局搜索一下,直接进入
https://i-blog.csdnimg.cn/img_convert/e1d1a362f46d0234796f322a1b2b1dfb.png
调用的是n(350),然后返回的值为i,下面直接传给sign,所以说要找的就是i
在i处下一个断点,革新进去,看一下该逻辑的参数,发现末了o(t.data)函数返回值被i接收
https://i-blog.csdnimg.cn/img_convert/37e9ec666ffe514b647837edd87b6b96.png
那直接去找o函数
单步进入加载器,直接把整个加载器抠出来
https://i-blog.csdnimg.cn/img_convert/f529474e472443e361fb7ea2d8f39177.png
在加载器外界说一个变量去全局接收这个参数
https://i-blog.csdnimg.cn/img_convert/e6196ab6f6a70989ddc1fa1ca57c52b1.png
然后把vendor.chunk.ab的代码也复制下来,加载器大概两百多行,这个两万多行,
https://i-blog.csdnimg.cn/img_convert/61fbb45a57e70003ec504e4c3a003d6c.png
是能正常构造出来的,
然后写一下py的请求
import time
import execjs
import requests
import json


headers = {
      "accept": "application/json",
      "accept-language": "zh-CN,zh;q=0.9,oc;q=0.8",
      "cache-control": "no-cache",
      "content-type": "application/x-www-form-urlencoded",
      "origin": "https://y.qq.com",
      "pragma": "no-cache",
      "priority": "u=1, i",
      "referer": "https://y.qq.com/",
      "sec-ch-ua": "\"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"134\"",
      "sec-ch-ua-mobile": "?0",
      "sec-ch-ua-platform": "\"Windows\"",
      "sec-fetch-dest": "empty",
      "sec-fetch-mode": "cors",
      "sec-fetch-site": "same-site",
      "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"
    }
cookies = {
      "ts_uid": "82546152",
      "ts_refer": "www.google.com/",
      "pgv_pvid": "5540762092",
      "pgv_pvi": "857070592",
      "eas_sid": "q1m7o491L6s1h1U9o3k6O6s7s7",
      "RK": "YLOpJl+O87",
      "ptcz": "c62b1a1faddd2475e6a574bfb2f18b5db8368ec17fbe8dc2e5a9e3c3ec3b3932",
      "_qimei_uuid42": "1930f0f2f1b10000ea075ee4c8d1327d25f2c8e380",
      "_qimei_fingerprint": "7f9c0d7567380d31c88a31812f196720",
      "_qimei_q36": "",
      "_qimei_h38": "8f954cacea075ee4c8d1327d02000006a1930f",
      "_clck": "3945857917|1|fua|0",
      "fqm_pvqid": "bcc60b31-7e6e-4113-a893-e826db6411b8",
      "fqm_sessionid": "9ea22687-9f0c-4d32-a003-db08f75dd9b8",
      "pgv_info": "ssid=s8142463614",
      "ts_last": "y.qq.com/n/ryqq/search",
      "_qpsvr_localtk": "0.7093670537313226",
      "login_type": "1",
      "qqmusic_key": "Q_H_L_63k3NNuZZj_eI120c7x7Sde_4WuAcIHkqTCCCSSbaZyFdP49gbLOcuU1YPFLhKRpzJMxw4CXXDK79dcIzBx4e2FQZLzs",
      "uin": "2797246328",
      "tmeLoginType": "2",
      "psrf_qqunionid": "16090E6EF40A0480376C8B3230A2758F",
      "wxunionid": "",
      "euin": "owSq7i-P7woANn**",
      "wxopenid": "",
      "psrf_access_token_expiresAt": "1748066555",
      "qm_keyst": "Q_H_L_63k3NNuZZj_eI120c7x7Sde_4WuAcIHkqTCCCSSbaZyFdP49gbLOcuU1YPFLhKRpzJMxw4CXXDK79dcIzBx4e2FQZLzs",
      "psrf_qqopenid": "74C84739A39A28FF013A8304550D2756",
      "psrf_qqrefresh_token": "E549374884C9F22AF22CEF88A3F0D3FF",
      "psrf_musickey_createtime": "1742882555",
      "wxrefresh_token": "",
      "psrf_qqaccess_token": "2F4FF8FA29F3E0DDE9D4E36F67BD033A",
      "music_ignore_pskey": "202306271436Hn@vBj"
    }
url = "https://u6.y.qq.com/cgi-bin/musics.fcg"
data='{"comm":{"cv":4747474,"ct":24,"format":"json","inCharset":"utf-8","outCharset":"utf-8","notice":0,"platform":"yqq.json","needNewCode":1,"uin":2797246328,"g_tk_new_20200303":1162653987,"g_tk":1162653987},"req_1":{"method":"DoSearchForQQMusicDesktop","module":"music.search.SearchCgiService","param":{"remoteplace":"yqq.yqq.yqq","searchid":"58920998531433241","search_type":0,"query":"真的爱你","page_num":1,"num_per_page":10}}}: '
sign = execjs.compile(open('D:\project\stock_spider\spider\crawler_reverse\吴秋霖\qq音乐\qq_music.js', 'r', encoding='utf-8').read()).call(('main1'),data)
print(sign)
time_str = round(time.time() * 1000)
params = {
      "_": time_str,
      "sign": sign
    }
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, cookies=cookies, params=params, data=data)

print(response.text)
print(response)
但是不知道为什么不停请求不到了,是因为search_id的题目吗?
还请知道的佬可以说一下

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 音乐webpack(通杀webpack-1)