[油猴脚本开发指南]超底层注入videojs
# 前文觉得不继续分析太可惜了
枉我之前读了一上午videojs源码
壳儿,我就是这么真。
# 开始分析
我们之前利用的是`Component.registerComponent`来进行组件替换Player函数
进行构造前和构造后的劫持
但是超星新一次的更新过程中registerComponent进行了过滤
只要发现在替换name为Player即直接return
难道我们就要束手无策了么?
新的风暴已经出现!
我们怎能停滞不前?!
我们总结registerComponent的核心代码其实就两句
```javascript
Component.components_ = ComponentToRegister;
Component.components_ = ComponentToRegister;
```
其他的代码都是在做校验
也就是说最后是往
```javascript
Component.components_
```
进行赋值
那Component是啥
查阅源码可以找到
![图片.png](data/attachment/forum/202203/10/152857ztfa75t3vemmujay.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")
这里Component是一个函数,然后获取了他的原型链叫_proto
![图片.png](data/attachment/forum/202203/10/152919iwbaeuwjhgp2uwjz.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")
之后做大量的赋值处理
![图片.png](data/attachment/forum/202203/10/152959p1471nnn1nm1n1nc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")
我们拖到最后发现发做完各种函数和原型函数处理,返回了Component
那么我们看看返回给了谁
![图片.png](data/attachment/forum/202203/10/153035ngrb76xpz7odz2to.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")
返回给了Component$1
然后再下面两句做了一下兼容性处理
最后registerComponent自身
等等,自身?
那我们通过GetComponent岂不是就能拿到Component$1
再直接找到components里修改Player
这样就绕过了registerComponent函数的过滤检测
理论建立完毕
实践开始
```javascript
let OriginPlayer = _self.videojs.getComponent('Player')
let woailiyinhe = function (tag, options, ready) {
let player = OriginPlayer.call(this, tag, options, ready)
return player;
}
woailiyinhe.prototype = Object.create(OriginPlayer.prototype)
_self.videojs.getComponent('Component').components_['Player'] = woailiyinhe
```
秒杀!
# 附注
你不仅仅可以修改Player
也可以考虑对其他的一些你想劫持的函数进行劫持
这几篇的核心意义不是在教大家修改videojs
而是在教大家如果通过阅读源码提升自我
以后碰到其他的问题,处理也会更加得心应手
# 结语
啾咪~
支持加油 ggnb
下一波和谐还远吗 cocang 发表于 2022-3-10 17:27
ggnb
下一波和谐还远吗
不知道...
我能感觉超星追着我搞
但是其实他们对videojs理解程度一般
只要想hook
光手里现在就还有三四种方法做注入
只是害怕法律风险了 geigei,新人不了解,在哪安排呀 李恒道 发表于 2022-3-10 17:38
不知道...
我能感觉超星追着我搞
但是其实他们对videojs理解程度一般
好家伙,要加班喽 李恒道 发表于 2022-3-10 17:38
不知道...
我能感觉超星追着我搞
但是其实他们对videojs理解程度一般
对了,像秒过视频的操作还会有吗啊 kltt1331 发表于 2022-3-10 18:37
geigei,新人不了解,在哪安排呀
https://bbs.tampermonkey.net.cn/thread-15-1-1.html 橙风啊 发表于 2022-3-10 19:05
对了,像秒过视频的操作还会有吗啊
看情况吧...
继续针对我就不准备维护了
唉 橙风啊 发表于 2022-3-10 19:05
对了,像秒过视频的操作还会有吗啊
现在秒过理论应该好使
我没测
页:
[1]
2