当前位置:网站首页>【FiddlerScript】利用FiddlerScript抓包保利威下载
【FiddlerScript】利用FiddlerScript抓包保利威下载
2022-08-01 05:26:00 【小白大侠Leo】
目标站点 王派医学官网 医考选王派,拿证就是快
脚本原理就是删除key链接中的playsafe
最终效果

准备的工具
1.浏览器
2.配置好证书的Fiddler,可以看我b站视频【跟着新手学抓包】第003集如何配置中文版Fiddler_哔哩哔哩_bilibili
放置代码
1.首先打开Fiddler,切换到FiddlerScript

2.在第一行加上这段代码
import System.Text.RegularExpressions;
3.点击跳转:OnBeforeRequest
3.在OnBeforeRequest前面加上这段代码
public static RulesOption("捕获blv")
BindPref("fiddlerscript.rules.BLV")
var m_isBLV: boolean = false;
4.在OnBeforeRequest里面加上这段代码
if(oSession.fullUrl.Contains("https://hls.videocc.net/playsafe") && oSession.fullUrl.Contains("key")){
oSession.fullUrl = oSession.fullUrl.Replace("/playsafe","");
}
5.点击跳转:OnBeforeResponse
6.在OnBeforeReseponse里面加上这段代码
if(m_isBLV){
if(oSession.fullUrl.Contains("https://hls.videocc.net") && oSession.fullUrl.Contains("m3u8")){
oSession.utilDecodeResponse();
var body = oSession.GetResponseBodyAsString();
if(body.IndexOf("#EXT-X-STREAM-INF")!=-1){
var m3u8Url = oSession.fullUrl;
var baseUrl = oSession.fullUrl.Substring(0,oSession.fullUrl.IndexOf(".m3u8"))
var r = new Regex('_(.*?desktop)');
FiddlerObject.log(body);
var mc = r.Match(body);
if(mc.Groups[1].Value == ""){
//没有匹配到,不再执行后面的代码
FiddlerObject.log("[异常]:获取m3u8Url正则失败,请联系开发者QQ:2908436596");
return;
}
var dUrl = mc.Groups[1].Value;
var m3u8Data = baseUrl +"_"+ dUrl;
FiddlerObject.log("成功获取最高清晰度m3u8URL为:");
FiddlerObject.log(m3u8Data)
}
}
}
if(m_isBLV && oSession.fullUrl.Contains("hls.videocc.net") && oSession.fullUrl.Contains("key?token") ){
FiddlerObject.log(Fiddler.Utilities.ByteArrayToString(oSession.ResponseBody))
var keyBytes = Fiddler.Utilities.ByteArrayToString(oSession.ResponseBody)
var base64Data = Convert.ToBase64String(oSession.ResponseBody)
FiddlerObject.log("base64:"+base64Data)
}
使用流程
1.点击规则->捕获blv,前面有勾代表开启,没有代表关闭

2.切换到日志面板,右键->清除
3.登录网站,点击视频,地址自吐

4.将地址放到下载器

边栏推荐
- NDK does not contain any platforms问题解决
- Vsce package after the Command failed: NPM list - production - parseable - the depth = 99999 - loglevel = error exception
- 深度比较两个对象是否相同
- Robot_Framework:关键字
- 微信小程序接口调用凭证(获取token)auth.getAccessToken接口开发
- 对话MySQL之父:一个优秀程序员可抵5个普通程序员
- 2022年超全的Android面经(附含面试题|进阶资料)
- flinkcdc对mysql的date字段类型转化有什么解决思路么
- ModuleNotFoundError: No module named 'tensorflow.keras' error message solution
- Selenium: element positioning
猜你喜欢

leetcode43 字符串相乘

About making a progress bar for software initialization for Qt

Malicious attacks on mobile applications surge by 500%

leetcode43 string multiplication

USB3.0:VL817Q7-C0的LAYOUT指南(三)

pytroch、tensorflow对比学习—专栏介绍

pytorch、tensorflow对比学习—功能组件(激活函数、模型层、损失函数)

Dialogue with the father of MySQL: One excellent programmer is worth 5 ordinary programmers

2022.7.26 Mock Competition

Qt Widget 项目对qml的加载实例
随机推荐
Selenium: mouse, keyboard events
pytorch、tensorflow对比学习—张量
A,H,K,N
pytroch、tensorflow对比学习—使用GPU训练模型
Robot_Framework:常用内置关键字
MySQL-Data Operation-Group Query-Join Query-Subquery-Pagination Query-Joint Query
ORACLE modify another user package (package)
Selenium:简介
Qt Widget 项目对qml的加载实例
Robot_Framework:断言
Selenium: browser operation
Selenium:元素定位
零序电流继电器器JL-8C-12-2-2
Swastika line-by-line parsing and realization of the Transformer, and German translation practice (a)
Robot_Framework: commonly used built-in keywords
牛客多校2022第四场A,H,K,N
关于给Qt做一个软件初始化的进度条
PaddleX部署推理模型和GUI界面测试结果不一致的解决方法
从离线到实时对客,湖仓一体释放全量数据价值
y83. Chapter 4 Prometheus Factory Monitoring System and Actual Combat -- Advanced Prometheus Alarm Mechanism (14)