王一之 发表于 2021-9-29 11:34:53

超星倍速屏蔽分析

> 本功能近期不打算放到现有的脚本里去,因为各种原因近期也没更新计划了

最近超星更新了屏蔽倍速,导致工具无法进行倍速,有个朋友帮我找到了地方,不知道怎么过。

主要是超星加了如下代码,检测到倍速大于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
      }
    }
});
```

lty123 发表于 2021-9-29 11:47:58

ggnb!!!!!!

淡淡的记忆 发表于 2021-9-29 17:43:11

ggnb

Ne-21 发表于 2021-9-29 20:12:27


ggnb!!!!!!

maple 发表于 2021-9-30 13:48:11

ggnb!!!!!

陈同学呀 发表于 2021-9-30 14:26:01

所以这个暂时要怎么用啊小白一枚还在成长

王一之 发表于 2021-9-30 14:40:40

陈同学呀 发表于 2021-9-30 14:26
所以这个暂时要怎么用啊小白一枚还在成长

配合刷课脚本就行,具体自己研究吧

无知是原罪 发表于 2021-9-30 18:41:55

ggnb!!!!!!!!1!!!!!!!

她没有焰火绚丽 发表于 2021-9-30 22:07:05

看不懂下面的程序该怎么用呢

Ne-21 发表于 2021-9-30 22:28:00

gege,劫持修改完会出现videojs.xhr不是一个方法的报错吗
页: [1] 2 3 4 5 6 7
查看完整版本: 超星倍速屏蔽分析