欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 前端技术 > javascript >内容正文

javascript

js逆向 -凯发ag旗舰厅登录网址下载

发布时间:2024/1/18 javascript 35 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 js逆向 -- 分析某站aid、cid、w_rid和sid的加密过程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

接上节课内容

js逆向 -- 分析某站buvid3和_uuid的加密过程

js逆向 -- 分析某站b_lsid值加密过程

一、清除cookie信息,刷新网页,ctrl f搜索sid,这样找到的数据是在url里或者响应信息里面,全局搜索找到的一般都是在js里面的数据,找到一个v2的数据包,里面有setcookie

二、该数据包是get请求,分析里面的请求数据

https://api.bilibili.com/x/player/wbi/v2?aid=400789390&cid=1119048652&w_rid=b18731f67c5be2da813395f8a884ccdd&wts=1683797034

1、aid和cid

刷新视频页面,ctrl f搜索aid,发现aid和cid,还有视频阅读量,就在网页源码中,所以可以直接python代码实现

代码实现

import requests import reheaders = {'user-agent': 'mozilla/5.0 (macintosh; intel mac os x 10_15_7) applewebkit/537.36 (khtml, like gecko) chrome/100.0.4896.75 safari/537.36' } url = 'https://www.bilibili.com/video/bv1tw4y1x73q/?spm_id_from=333.788.recommend_more_video.11'响应数据 = requests.get(url, headers=headers).text 正则结果 = re.search('"stat":\{"aid":(?p\d ),"view":(?p\d ),"danmaku', 响应数据) aid=正则结果.group("aid") 视频播放量=正则结果.group("view") cid=re.search('"cid":(.*?),"dimension"', 响应数据) print(aid,cid.group(1),视频播放量)

2、w_rid

w_rid出现了三次,都不一样,我们要的是最下面的值v2里面的w_rid

在关键代码处全部下断

第一次断下

第二次断下

重新ctrl f重新搜索w_rid,v2数据包中w_rid是第二次断下来的值

重新刷新页面,第二次断下,然后追数据,最后加密值来自于h

h = o()(p i),p的值是:"aid=945189005&cid=892094702&wts=1684220967"

i第值是固定值:caa9ea6e1ec3e32c3efa79550f4b416a

最后的结果是32位数值,我们猜测是md5加密,经过测试,也确实是md5加密

三、重新构造数据包,实现v2的发送

import requests import re import execjs import timeheaders = {'user-agent': 'mozilla/5.0 (macintosh; intel mac os x 10_15_7) applewebkit/537.36 (khtml, like gecko) chrome/100.0.4896.75 safari/537.36' } url = 'https://www.bilibili.com/video/bv1tw4y1x73q/?spm_id_from=333.788.recommend_more_video.11'响应数据 = requests.get(url, headers=headers).text 正则结果 = re.search('"stat":\{"aid":(?p\d ),"view":(?p\d ),"danmaku', 响应数据) aid=正则结果.group("aid") 视频播放量=正则结果.group("view") cid=re.search('"cid":(.*?),"dimension"', 响应数据) print(aid,cid.group(1),视频播放量)def getwrid(aid,cid,r):node = execjs.get()fp = open('jiami.js', 'r', encoding='utf8')ctx = node.compile(fp.read())a="aid=" aid "&cid=" cid "wts=" str(r) "caa9ea6e1ec3e32c3efa79550f4b416a"res='md5_encrypt("%s")'%(a)print(res)return res url='https://api.bilibili.com/x/player/wbi/v2' r = int(time.time() * 1000) print(r) w_rid=getwrid(aid,cid.group(1),r) print(w_rid) 参数={'cid':cid.group(1),'aid':aid,'w_rid':w_rid,'wts':r } res=requests.get(url,params=参数,headers=headers) sid = res.cookies.get_dict()['sid'] print(sid)

总结

以上是凯发ag旗舰厅登录网址下载为你收集整理的js逆向 -- 分析某站aid、cid、w_rid和sid的加密过程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图