斗鱼扩展--拦截替换js_辅助抢宝箱(六)

代码可以在 https://pan.baidu.com/s/1uN120-18hvAzELpJCQfbXA  处下载

说思路

  1. 页面加载一段时间后,判断页面有没有宝箱,如果没有就停止注入js,如果有则 激活一个timer
  2. timer 循环判断是否还有宝箱,如果有,则把宝箱信息 写 入document.title用于提醒用户,并判断是否为验证页面,如不是则不断点击宝箱的领取按钮进行验证按钮

好,加入一个js 目录,添加一个 treasureBox.js,代码如下

 1 function getBoxInfo() {
 2     try{
 3         if ($("#treasure").css("display") == "block") { //"none"无,  "block"有
 4             var openBoxTimer=setInterval(function(){
 5                 if ( $("#treasure").css("display") == "block") {
 6                     document.title =$(".peck-cdn").text();    //宝箱信息显示在网页标题上
 7                     //从未开过宝箱undefined,开过"none",正在开"block"
 8                     if ($(".geetest_fullpage_click.geetest_float.geetest_wind.geetest_click").css("display") != "block") {
 9                         $(".peck-cdn").click();    //点击领取                        
10                         $(".geetest_radar_tip").click();    //点击按钮进行验证
11                     }
12                 }else{
13                     this.close();
14                 }
15             },800);
16         }
17     }catch(err){        
18     }    
19 };
20 
21 $(document).ready(function(){
22     if (roomObj.getRoomId() =="") {
23         return;
24     }
25     var boxInfoTimer=setTimeout("getBoxInfo()",8000);
26 });

manifest.json 加入 引用的文件

"content_scripts":[{
        "js": [
            …
            "js/treasureBox.js"
        ],    //要注入的js
        …
    }],

就完成了,结果发现,,宝箱 并为自动打开,,要鼠标悬浮 在宝箱上面才行!

这怎么可以忍呢?? 去查查什么原因

然后,我就 搜 关键字运气不佳,宝箱已被洗劫一空T_T”,定位到文件https://shark.douyucdn.cn/app/douyu/js/page/room/normal/mod-all2.js?v8.173 内,继续关键字 “mouseover”,” mouseenter”,” treasure”,

drawTreasure: function() {
var e = this,
t = e.doms,
i = e.config,
...
t.$treasure.on("click", function() {
...
if (i.isTrueasureDraw && i.isTreasureHover && !(i.bindStatus > 0)) return ...
})
},

i.isTreasureHover 就是检测了 鼠标状态,想办法删除或使之为ture都行,

好了,把 修改后的  mod-all1.js 放入 jsRedirectJs内,

去manifest.json 加入扩展 可访问 磁盘文件的相对路径。

 

修改 background.js, 在要阻止的urls 列表里加入 "https://shark.douyucdn.cn/app/douyu/js/page/room/normal/mod-all1.js?v*", 这样,才会进入回调函数callback,然后 判断是否是 mod-all1.js 的网络路径,如果是则返回 本地的js.

 

然后 重新加载。可以愉快地 抢鱼丸了。网页标题 显示 开箱时间,到领取时,会打开到点汉字认证 那个页面 (只能到 这个页面了)。

 

 

原文地址:https://www.cnblogs.com/likehc/p/9419835.html