zoukankan      html  css  js  c++  java
  • 斗鱼扩展--拦截替换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.

     

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

     

     

  • 相关阅读:
    Ax+By+C=0 直线一般式拟合 c++/python
    win7结束进程 时,提示“拒绝访问”、“没有此任务的实例运行” taskkill 结束不了进程
    Keras神经网络转到Android可用的模型
    Keras深度神经网络训练IMDB情感分类的四种方法
    解决win7 word 2016中不能加载EndNote x7
    Google Coral Dev Board
    pydot` failed to call GraphViz.Please install GraphViz
    使用可视化图表对 Webpack 2 的编译与打包进行统计分析
    webpack 多环境配置
    格式化时间
  • 原文地址:https://www.cnblogs.com/likehc/p/9419835.html
Copyright © 2011-2022 走看看