超星倍速屏蔽分析
> 本功能近期不打算放到现有的脚本里去,因为各种原因近期也没更新计划了最近超星更新了屏蔽倍速,导致工具无法进行倍速,有个朋友帮我找到了地方,不知道怎么过。
主要是超星加了如下代码,检测到倍速大于2,就暂停,然后设置播放倍速为1。
!(data/attachment/forum/202109/30/135059vqvyjvy0sffy50gm.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
他这里通过videojs进行初始化,返回一个对象初始化各种函数和属性,我们发现window下有videojs,所以可以对其进行劫持,然后再进一步操作对象下函数。
![](https://bbs.tampermonkey.net.cn/forum.php?mod=attachment&aid=MTMwMXwxNGQyOGQ0N3wxNjMyODg3MjA3fDR8MTA0Ng%3D%3D&noupdate=yes)
```js
// ==UserScript==
// @name New Userscript
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @descriptiontry to take over the world!
// @author You
// @match https://mooc1-2.chaoxing.com/ananas/modules/video/index.html*
// @run-at document-start
// @grant none
// ==/UserScript==
window.oldace = null;
window.videoobj = []
document.addEventListener('readystatechange', () => {
if (window.videojs !== undefined && window.oldace === null) {
console.log('检测到了', window.videojs)
window.oldace = window.videojs
window.videojs = function (...args) {
let ret = window.oldace.call(this, ...args)
window.videoobj.push(ret)
ret.laston = ret.on;
ret.on = function (...args) {
console.log('调用了on', args);
if (args == 'ratechange') {
console.log('屏蔽限制');
return;
}
return this.laston(...args)
}
console.log('videojs', ret)
return ret
}
}
});
```
ggnb!!!!!! ggnb
ggnb!!!!!! ggnb!!!!! 所以这个暂时要怎么用啊小白一枚还在成长 陈同学呀 发表于 2021-9-30 14:26
所以这个暂时要怎么用啊小白一枚还在成长
配合刷课脚本就行,具体自己研究吧 ggnb!!!!!!!!1!!!!!!! 看不懂下面的程序该怎么用呢 gege,劫持修改完会出现videojs.xhr不是一个方法的报错吗