非程序员。因为 B 站大会员太贵,前段时间在网上搜资源。看到某网站可以在线看,于是就想着用 m3u8 下载器。 想通过按 F12 开发调试工具查看找到 HLS 视频流的地址,后缀就是.m3u8 。可是,这次我按 F12 浏览器就卡死了。 浏览器用的 Mozilla,看他写的 JS 还专门针对不同浏览器比如 EDGE 、Firefox 监测开启调试后就 setTimeout 。 他的注释写的很清楚,甚至写明了该 function 对 firefox 无用,自己刚学还有很多不懂什么什么的。
就因为他写的那么几行 JS 代码,让我无法下载想看的动漫,想通过 U 盘播放或者电脑投屏到电视上。 这个事情已经过去了 1 个月,但是我一直想知道怎么可以绕过他的 JS 或者现在可以用 curl 请求他的 Web 服务器。
结果是,今天早上再次访问这个野生网站,他居然居然把这些 JS 给删掉了,😔。。。。。
该网站对于B站1080P视频写了js反调试,对于带广告的720P视频则没有js反调试。 我把js代码贴出来。fuck-debugger.js
/**
* 检测到调试时进行的操作
*/
let onDebug = function () {
document.write('检测到非法调试!请停止调试后刷新本页面!');
};
/**
* 通过 debugger 时间检测
*
* 突破方法:禁用 debugger
*/
setInterval(function () {
setTimeout(function () {
let st, et;
st = new Date().getTime();
debugger;
et = new Date().getTime();
if ((et - st) > 1000) {
onDebug();
}
}, 0);
}, 1000);
/**
* 监控 F12的按下
*
* 没啥用,还有禁止右键菜单,更加没啥用
*/
document.onkeydown = document.onkeyup = document.onkeypress = function (event) {
const e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 123) {
onDebug();
}
};
/**
* 当dom被发送至控制台时(例如console.log)
* 浏览器会自动通过该dom的getter()获取该 dom 的id
* 所以我们可以创建一个dom,然后发送到控制台,并且重定义其getter()
*
* 缺点:这招对火狐没用
*/
let div = document.createElement('div');
Object.defineProperty(div, "id", {
get: () => {
clearInterval(loop);
onDebug();
}
});
let loop = setInterval(() => {
setTimeout(() => {
console.log(div);
console.clear();
}, 0);
}, 1000);
/**
* 上面那个方法支持谷歌而不支持火狐
* 这次来个支持火狐不支持谷歌的
*/
let firefox_test = /./;
firefox_test.toString = function () {
onDebug();
}
if (navigator.userAgent.match('/firefox/')) {
/**
* 对于火狐:若开发者工具开启,则下面这行代码会触发 firefox_test.toString,否则反之
* 对于谷歌:无论是否开启开发者工具,都会触发
*/
console.log(firefox_test);
}
/*调试相关的函数重定义*/
window['console']['log'] = function () {
};
/*
还有其他检测方法:
调用链检测
代理对象(自己暂时没学)
不过上面这两种并不可以简单调用的,所以这里没写
*/
1
ch2 2021-08-23 10:12:18 +08:00
可以直接移除的,雕虫小技
|
2
shiji 2021-08-23 10:18:46 +08:00
比如 FF 的 Debugger 里面可以直接禁用断点的.
|
3
xingshu1990 2021-08-23 10:20:52 +08:00
试试换成 chrome 然后再安装 浏览器扩展 Auto Copy Enable Copy 等破解防复制的插件?
|
4
zhanghua0 2021-08-23 11:01:07 +08:00 2
|
5
mxT52CRuqR6o5 2021-08-23 11:23:15 +08:00
非程序员直接装个猫抓不就好了,根本不用去打开控制台
|
6
wjm2038 2021-08-23 14:16:32 +08:00 via Android
你说的是樱花动漫么
|
7
wdssmq 2021-08-23 16:27:55 +08:00
其实,这个网站下载不了也可以换一个。。
以及。。你从盗版网站抓在线播放的视频??? BT 下载也这么夕阳了?? |
8
yigecaiji 2021-08-23 16:36:08 +08:00 via Android
bt 下载不方便吗?第二天字幕组就出了,资源大多数是 1080 的,还有专门扒 B 站、巴哈资源的。
|
9
huntagain2008 OP @wdssmq 这个网站有些动漫是 1080P 的,而且视频中没有任何广告,和 B 站大会员的动漫质量一模一样。
台标也是一样的。其他网站带的视频广告太多,而且清晰度不行。 BT 下载我不会用。以前用彗星,然后公网老是阻塞。我是小白一个,不知道用其他的,也没资源。 |
10
huntagain2008 OP @xingshu1990
@mxT52CRuqR6o5 chrome 浏览器扩展除非我能完全看懂插件的源码,不然我不敢用。而且我不喜欢 chrome,感觉广告太多,也不安全。当然我是小白,可是我就是觉得它不好。 |
11
huntagain2008 OP @yigecaiji 我不会用 bt 下载。
看教程推荐用 bt 下载 ArchLinux 的官方镜像,先下载 torrent 再用 bt 下载。只有 3kb/s 完全下载不动,结果用的 163 镜像。 我当时先是尝试安装了μtorrent 首先报毒,卸载不干净。然后用了老牌彗星结果公网 TCP 阻塞,一直黄灯。 查了一下,网上推荐用 qbittorrent 配合 TrackersList 可以最大化下载量。可是,我还是担心公网 TCP 阻塞问题。 也不知道在哪里找靠谱的 BT 资源。 |
12
mxT52CRuqR6o5 2021-08-24 10:28:40 +08:00 via Android
@huntagain2008 不信任的话可以在虚拟机里跑
|
13
yigecaiji 2021-08-24 21:17:17 +08:00 via Android
@huntagain2008 种子的话你可以去动漫花园找,软件的话比特慧星就可以了,我的也是黄灯,不过好像不影响下载。不过视频的话尽量在出资源后的一周内下载,要不然速度就会很慢,有的可能要在两天内下完,因为有很多人下完之后就把软件给关了。
|
14
MiketsuSmasher 2021-08-24 23:39:57 +08:00
按出来开发者之后刷新一遍页面试试?
或者直接禁用 js 看看能不能看? |
15
huntagain2008 OP @MiketsuSmasher 刚刚试了,刷新后也会进入 Debugger 。
视频网页的播放器的 HTML 只会是<html><body>检测到非法调试!请停止调试后刷新本页面!</body></html> 这样你就看不到播放器所使用的视频流的地址。播放器 src 地址是 blob:https://xxxxxx 这样的,我觉得无法下载 BlobURL 。 在网络请求查找 m3u8 找不到,只有 HLS 的 TS 文件。不知道是不是他放的比较隐蔽,导致我找不到。 第一条附言把 JS 贴出来了。onDebug()函数就是写入这句话“检测到非法调试!请停止调试后刷新本页面!”。 他注释很清楚,通过 debugger 时间检测,用了 setInterval 和 setTimeout 。注释还写明了,突破方法:禁用 debugger 。 他的注释也写了,监控 F12 的按下,没啥用,还有禁止右键菜单,更加没啥用。自己吐槽自己,估计他也不想写。 突破反调试方法就禁用 Debugger 。但是我还是找不到 m3u8 地址,只有 blob:https://xxxx 这样的。 至于禁用 JS,小白我一开始就试过,这样的结果是页面有关播放器的部分都不会加载。 |
16
huntagain2008 OP @yigecaiji 好的,有空试试。只是对理科生坠入情网故尝试证明有点兴趣,工作细胞也不错。
比特彗星前些天我尝试 bt 下载官方 ArchLinux 的 iso,只有 3kb/s 。最后用了网易的镜像,现在感到后怕,怕被篡改 以前我为了彗星绿灯还专门电话运营商把公网 IP 开了。结果现在怎么搞都是黄灯,小白我实在搞不清楚是为什么 看 GitHub 上面的 TrackerList 项目是最近才出现的。也不知道靠不靠谱,上面也写了黄灯只影响上传。 但是我认为 BT 下载应该是上传贡献多了,下载才会快。所以我觉得上传速度也比较重要。 |
17
huntagain2008 OP @MiketsuSmasher 刚刚我才知道 VLC 可以转换视频流。以前用的 GitHub 某人写的所谓开源项目编译后直接报毒,代码也太多来自互联网,感觉实在不太敢用,可是我还是用了……早知 VLC 直接可以用,我就不用他的东西了。
|