Momo707577045 / media-source-extract

MediaSource 视频提取教程
1.57k stars 453 forks source link

复写 call 函数,绕过劫持检查的那段和 B站 有冲突,会造成浏览器卡死 #102

Open Einskai opened 6 months ago

Einskai commented 6 months ago

不知道为什么,复写 call 函数,绕过劫持检查的那段和B站有冲突,会造成浏览器卡死。 我改写了一下,只对劫持的函数做处理,没劫持的就不处理,目前B站正常了 改写前:

// 复写 call 函数,绕过劫持检查
 Function.prototype.toString.call = function (caller) {
      return `'function ${caller.name}() { [native code] }'`
    }

改写后:

// 复写 call 函数,绕过劫持检查
    let callHelp = Function.prototype.toString.call;
    Function.prototype.toString.call = function (caller) {
      if(['addSourceBuffer','endOfStream'].includes(caller.name)){
        return `'function ${caller.name}() { [native code] }'`
      }else{
        return callHelp.call(this,caller)
      }
    }
lovenou commented 6 months ago

牛逼,我正说呢