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

说思路

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

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

 function getBoxInfo() {
try{
if ($("#treasure").css("display") == "block") { //"none"无, "block"有
var openBoxTimer=setInterval(function(){
if ( $("#treasure").css("display") == "block") {
document.title =$(".peck-cdn").text(); //宝箱信息显示在网页标题上
//从未开过宝箱undefined,开过"none",正在开"block"
if ($(".geetest_fullpage_click.geetest_float.geetest_wind.geetest_click").css("display") != "block") {
$(".peck-cdn").click(); //点击领取
$(".geetest_radar_tip").click(); //点击按钮进行验证
}
}else{
this.close();
}
},800);
}
}catch(err){
}
}; $(document).ready(function(){
if (roomObj.getRoomId() =="") {
return;
}
var boxInfoTimer=setTimeout("getBoxInfo()",8000);
});

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 放入 js\RedirectJs内,

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

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

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

斗鱼扩展--拦截替换js_辅助抢宝箱(六)的更多相关文章

  1. 斗鱼扩展--DouyuRoom使用说明(十四)

    1.从 https://pan.baidu.com/s/1yBfZFtcakbDxmyas0VCpRw 下载 DouyuRoom.zip 然后解压到一个目录,我是放在C盘根目录下的,你们随意.然后解压 ...

  2. 斗鱼扩展--notifications提示(十二)

    来说下 桌面通知 Notification,HTML5支持 Web Notifications 的实例,但是要经过用户允许,  chrome://settings/content/notificati ...

  3. 斗鱼扩展初识Chrome扩展(一)

    看斗鱼有些时间了,也写了不少辅助的js,但是昨天不小心把硬盘分区表搞没了,自己写了好久的代码不见了,DiskGenius 也没恢复成功,所以要重写一次,大家要引以为鉴,常备份代码,github是个不错 ...

  4. Spring扩展:替换IOC容器中的Bean组件 -- @Replace注解

    1.背景:     工作中是否有这样的场景?一个软件系统会同时有多个不同版本部署,比如我现在做的IM系统,同时又作为公司的技术输出给其他银行,不同的银行有自己的业务实现(比如登陆验证.用户信息查询等) ...

  5. 如何给selenium.chrome写扩展拦截或转发请求

    Selenium.WebDriver Selenium WebDriver 是一组开源 API,用于自动测试 Web 应用程序,利用它可以通过代码来控制chrome浏览器! 有时候我们需要mock接口 ...

  6. 斗鱼扩展--localStorage备份与导出(九)

    之前我们都把数据 放在了 localStorage 里,但扩展一旦卸载,数据就会被清空, 在Console里备份,一次只能输出一条,小白操作起来很不方便,所以能不能 导入,导出文件来进行备份还原呢? ...

  7. MVC路由 路由的三种扩展 替换MVC内置的Handler

    Global.asax 是 程序入口文件 路由配置   为什么localhost:8088/Home/Index/1 能返问到我们写的 会去掉前缀跟端口号  变成Home/Index/1 用这个跟路由 ...

  8. Asp.net 面向接口可扩展框架之核心容器(含测试代码下载)

    新框架的容器部分终于调通了!容器实在太重要了,所以有用了一个名词叫“核心容器”. 容器为什么那么重要呢?这个有必要好好说道说道. 1.首先我们从框架名称面向接口编程说起,什么是面向接口编程?(这个度娘 ...

  9. 报表开发之扩展GROUP BY

    在实际运用中.比方在数据仓库中,常常须要对数据进行多维分析.不仅须要标准分组的结果(相当于 GROUP BY),还须要不同维度的小计(简单 GROUP BY 中取部分列分组)和合计(不分组).从而 提 ...

随机推荐

  1. shell入门-uniq去重复和tee重定向

    命令:uniq 选项:-c 显示重复数量 说明:去重复,不sort多个功能,显示几个重复 命令:tee 说明:重定向加上双重输出 [root@wangshaojun ~]# cat 2.txt1222 ...

  2. 同名项目复制,发布新项目,提示已存在该项目于webapp

    来自为知笔记(Wiz)

  3. Unity堆内存优化

    unity中减少堆内存分配以减少垃圾回收处理:只有局部变量且为值类值的变量是从stack栈中分配内存,其它所有情况都是从heap堆中分配内在.* 缓存获取到的数据.* 频繁被调用的函数中尽量少的分配空 ...

  4. Spring IOC 少

    控制反转好处 IOC:控制反转也叫依赖注入,IOC利用java反射机制,AOP利用代理模式.所谓控制反转是指,本来被调用者的实例是有调用者来创建的,这样的缺点是耦合性太强,IOC则是统一交给sprin ...

  5. Frequent Pattern 挖掘之二(FP Growth算法)

    Frequent Pattern 挖掘之二(FP Growth算法) FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断 ...

  6. p1198&bzoj1012 最大数

    传送门(洛谷) 传送门(bzoj) 题目 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数 ...

  7. IOS开发学习 碎片S

    非常感谢提供一下内容的人和组织! 字符串编码:http://www.cnblogs.com/KevinYang/archive/2010/06/18/1760597.html Foundation框架 ...

  8. .Net Core中依赖注入服务使用总结

    一.依赖注入 引入依赖注入的目的是为了解耦和.说白了就是面向接口编程,通过调用接口的方法,而不直接实例化对象去调用.这样做的好处就是如果添加了另一个种实现类,不需要修改之前代码,只需要修改注入的地方将 ...

  9. Linux vim常用选项

    Vim命令 三种模式 Command Mode 命令模式 Insert Mode 插入模式 Last LineMode 底行模式 底行模式常用命令 :w 保存 :q 退出 :! + 命令 :! ls ...

  10. PM2使用文档

    简介 PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控.自动重启.负载均衡等,而且使用非常简单. 下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和 ...