音乐webpack(通杀webpack-1)

打印 上一主题 下一主题

主题 1809|帖子 1809|积分 5427


本文章中所有内容仅供学习交流使用,不用于其他任何目标,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处置惩罚,严禁用于贸易用途和非法用途,否则由此产生的一切后果均与作者无关!
本文章未经许可禁止转载,禁止任何修改后二次流传,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,如有侵权,请接洽作者删除
目标:aHR0cHM6Ly95LnFxLmNvbS9uL3J5cXEvc2VhcmNoP3c9JUU3JTlDJTlGJUU3JTlBJTg0JUU3JTg4JUIxJUU0JUJEJUEw
革新一下,这是我们要逆向的接口

看一下载荷,第一个是时间戳,第二个是sign,是我们接下来的目标

全局搜索一下,直接进入

调用的是n(350),然后返回的值为i,下面直接传给sign,所以说要找的就是i
在i处下一个断点,革新进去,看一下该逻辑的参数,发现末了o(t.data)函数返回值被i接收

那直接去找o函数
单步进入加载器,直接把整个加载器抠出来

在加载器外界说一个变量去全局接收这个参数

然后把vendor.chunk.ab的代码也复制下来,加载器大概两百多行,这个两万多行,

是能正常构造出来的,
然后写一下py的请求
  1. import time  
  2. import execjs
  3. import requests
  4. import json
  5. headers = {
  6.         "accept": "application/json",
  7.         "accept-language": "zh-CN,zh;q=0.9,oc;q=0.8",
  8.         "cache-control": "no-cache",
  9.         "content-type": "application/x-www-form-urlencoded",
  10.         "origin": "https://y.qq.com",
  11.         "pragma": "no-cache",
  12.         "priority": "u=1, i",
  13.         "referer": "https://y.qq.com/",
  14.         "sec-ch-ua": ""Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"",
  15.         "sec-ch-ua-mobile": "?0",
  16.         "sec-ch-ua-platform": ""Windows"",
  17.         "sec-fetch-dest": "empty",
  18.         "sec-fetch-mode": "cors",
  19.         "sec-fetch-site": "same-site",
  20.         "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"
  21.     }
  22. cookies = {
  23.         "ts_uid": "82546152",
  24.         "ts_refer": "www.google.com/",
  25.         "pgv_pvid": "5540762092",
  26.         "pgv_pvi": "857070592",
  27.         "eas_sid": "q1m7o491L6s1h1U9o3k6O6s7s7",
  28.         "RK": "YLOpJl+O87",
  29.         "ptcz": "c62b1a1faddd2475e6a574bfb2f18b5db8368ec17fbe8dc2e5a9e3c3ec3b3932",
  30.         "_qimei_uuid42": "1930f0f2f1b10000ea075ee4c8d1327d25f2c8e380",
  31.         "_qimei_fingerprint": "7f9c0d7567380d31c88a31812f196720",
  32.         "_qimei_q36": "",
  33.         "_qimei_h38": "8f954cacea075ee4c8d1327d02000006a1930f",
  34.         "_clck": "3945857917|1|fua|0",
  35.         "fqm_pvqid": "bcc60b31-7e6e-4113-a893-e826db6411b8",
  36.         "fqm_sessionid": "9ea22687-9f0c-4d32-a003-db08f75dd9b8",
  37.         "pgv_info": "ssid=s8142463614",
  38.         "ts_last": "y.qq.com/n/ryqq/search",
  39.         "_qpsvr_localtk": "0.7093670537313226",
  40.         "login_type": "1",
  41.         "qqmusic_key": "Q_H_L_63k3NNuZZj_eI120c7x7Sde_4WuAcIHkqTCCCSSbaZyFdP49gbLOcuU1YPFLhKRpzJMxw4CXXDK79dcIzBx4e2FQZLzs",
  42.         "uin": "2797246328",
  43.         "tmeLoginType": "2",
  44.         "psrf_qqunionid": "16090E6EF40A0480376C8B3230A2758F",
  45.         "wxunionid": "",
  46.         "euin": "owSq7i-P7woANn**",
  47.         "wxopenid": "",
  48.         "psrf_access_token_expiresAt": "1748066555",
  49.         "qm_keyst": "Q_H_L_63k3NNuZZj_eI120c7x7Sde_4WuAcIHkqTCCCSSbaZyFdP49gbLOcuU1YPFLhKRpzJMxw4CXXDK79dcIzBx4e2FQZLzs",
  50.         "psrf_qqopenid": "74C84739A39A28FF013A8304550D2756",
  51.         "psrf_qqrefresh_token": "E549374884C9F22AF22CEF88A3F0D3FF",
  52.         "psrf_musickey_createtime": "1742882555",
  53.         "wxrefresh_token": "",
  54.         "psrf_qqaccess_token": "2F4FF8FA29F3E0DDE9D4E36F67BD033A",
  55.         "music_ignore_pskey": "202306271436Hn@vBj"
  56.     }
  57. url = "https://u6.y.qq.com/cgi-bin/musics.fcg"
  58. 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}}}: '
  59. sign = execjs.compile(open('D:\project\stock_spider\spider\crawler_reverse\吴秋霖\qq音乐\qq_music.js', 'r', encoding='utf-8').read()).call(('main1'),data)
  60. print(sign)
  61. time_str = round(time.time() * 1000)
  62. params = {
  63.         "_": time_str,
  64.         "sign": sign
  65.     }
  66. data = json.dumps(data, separators=(',', ':'))
  67. response = requests.post(url, headers=headers, cookies=cookies, params=params, data=data)
  68. print(response.text)
  69. print(response)
复制代码
但是不知道为什么不停请求不到了,是因为search_id的题目吗?
还请知道的佬可以说一下

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

道家人

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表