50行代码写的一个插件,破解一个H5小游戏

小游戏链接:测测你的眼睛对色差的辨识度http://www.webhek.com/post/color-test.html?from=timeline
废话不多说,先放代码:
window.onload = function () {
console.log("点击开始测试-------");
//点击开始按钮
var play = document.getElementsByClassName('play-btn');
play[0].click();
//获取画布盒子
// sleep(1);
var box = document.getElementById('box');
var num = box.children.length;
console.log('共有'+ num + '个字元素');
//把第一个元素定义为基础色
var color = [];
var basecolor = box.children[0].style.backgroundColor;
console.log(basecolor);
//循环
function clickButton() {
console.log('下一关');
box = document.getElementById('box');
num = box.children.length;
color = [];
basecolor = box.children[0].style.backgroundColor;
// console.log('进入下一关');
for (var i = 1; i < num ; i++) {
color[i] = box.children[i].style.backgroundColor;
}
for (var i = num-1; i >0 ; i--) {
if (color[i]!=basecolor && color[i-1] ==basecolor) {
box.children[i].click();
console.log("点击第"+(i+1)+'个元素');
} else if (color[i]!=basecolor && color[i-1] !=basecolor) {
box.children[0].click();
console.log("点击第"+1+'个元素');
}
}
}
setInterval(clickButton,300);
}
游戏界面:

思路都在代码里了,就是取到全部的色块元素,拿CSS对比,找到不一样那个,JS点击,进入下一关。当然,代码写的很粗糙,还有改进的空间。轻喷。
说一下流程:
首先呢,我们要把JS代码注入到游戏页面中,这个我是通过把代码打包成浏览器插件实现的。我做的谷歌浏览器的插件,当然你也可以做360的,火狐的,等等。
具体不同浏览器的插件的方法,你可以通过百度,在CSDN上找到对应的文章。
如果有人想试一下的话,可以下载这个谷歌浏览器的插件:
链接: https://pan.baidu.com/s/1yASkGKcrz1pPt0vY6gxqeg 提取码: jvcu
插件安装方法:
解压文件到一个好找的文件夹,然后 谷歌浏览器-》设置-》更多工具-》拓展程序-》开发者模式打开-》加载已解压的插件。
插件使用:
打开游戏界面,,插件就会自动运行,如果出问题的话,就多刷新几次。
放在最后:
体验几次之后就把插件移除吧,代码写的不完善,插件会在每个页面都运行,而JS里有一个定时器,因而可能会拖累浏览器的速度。
50行代码写的一个插件,破解一个H5小游戏的更多相关文章
- python实战:用70行代码写了一个山炮计算器!
python实战训练:用70行代码写了个山炮计算器! 好了...好了...各位因为我是三年级而发牢骚的各位伙伴们,我第一次为大家插播了python的基础实战训练.这个,我是想给,那些python基础一 ...
- HTML5游戏实战(1):50行代码实现正面跑酷游戏
前段时间看到一个"熊来了"的HTML5跑酷游戏,它是一个典型的正面2D跑酷游戏,这里借用它来介绍一下用Gamebuilder+CanTK开发正面跑酷游戏的基本方法. CanTK(C ...
- python爬虫实战:利用scrapy,短短50行代码下载整站短视频
近日,有朋友向我求助一件小事儿,他在一个短视频app上看到一个好玩儿的段子,想下载下来,可死活找不到下载的方法.这忙我得帮,少不得就抓包分析了一下这个app,找到了视频的下载链接,帮他解决了这个小问题 ...
- 50行代码实现缓存,JAVA内存模型原理
遇见这样的高人怎么办??下面是一个简单缓存的实现,相当牛叉!自己看吧,只有50行代码. 摘自:http://www.oschina.net/code/snippet_55577_3887 import ...
- 50行代码实现GAN | 干货演练
2014年,Ian Goodfellow和他的同事发表了一篇论文,向世界介绍了生成对抗网络(GAN).通过对计算图和博弈论的创新性组合,他们表明如果有足够的建模能力,两个相互对抗的模型可以通过普通的反 ...
- 50行代码实现python计算器主要功能
实现功能:计算带有括号和四则运算的式子 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 基本思路:使用正则表达式提取出每一层 ...
- “倔驴”一个h5小游戏的实现和思考(码易直播)——总结与整理
3月23日晚上8点半(中国队火拼韩国的时候),做了一期直播分享.15年做的一个小游戏,把核心代码拿出来,现场讲写了一遍,结果后面翻车了,写错了两个地方,导致运行效果有点问题,直播边说话边写代码还真不一 ...
- 如何开发一个简单的HTML5 Canvas 小游戏
原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...
- 【编程教室】PONG - 100行代码写一个弹球游戏
大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...
随机推荐
- eclipse导入项目后出现红色叉号的解决方案
对于一名程序员来说,我导入的项目在项目的名称上无端加了一个红色的叉号,虽然这个不友好的符号,对于我整个的项目运行没有任何影响,但是总让我觉得不舒服,大大的叉号写在我的项目的脑袋上,我心里能舒服吗?于是 ...
- python自定义小工具:密码匿名化、毫秒时间显示、人类易读字节
import base64 import time def timestamp2datems(timestamp): ''' 时间戳转为日期字串,精确到ms.单位s :param timestamp: ...
- 6.Hbase 原理
2 HBase体系结构 2.1 设计思路 HBase是一个分布式的数据库,使用Zookeeper管理集群,使用HDFS作为底层存储.在架构层面上由HMaster(Zookeeper选举产生的Leade ...
- 1.Hbase集群安装配置(一主三从)
1.HBase安装配置,使用独立zookeeper,shell测试 安装步骤:首先在Master(shizhan2)上安装:前提必须保证hadoop集群和zookeeper集群是可用的 1.上传:用 ...
- Nginx系列1.2:nginx-rtmp流媒体服务器添加权限认证(推流权限和播放权限)
用到的工具:OBS Studio(推流).nginx-rtmp流媒体服务器.VLC(拉取流播放) Nginx系列1:ubuntu16.04编译出适合自己的nginx服务器 Nginx系列1.1:ubu ...
- (15)while循环
循环结构 : while 循环结构的特点:减少代码的冗余,提高代码的效率注意:只要是循环一定要有判断条件退出循环,不然就成了死循环,程序会一直在内存执行,直到内存耗尽,暴毙..... 语法形式: wh ...
- appium+python 【Mac】UI自动化测试封装框架介绍 <四>---脚本的调试
优秀的脚本调试定位问题具备的特点: 1.方便调试. 2.运行报错后容易定位出现的问题. 3.日志的记录清晰 4.日志可被存储,一般测试结果的分析在测试之后会进行,那么日志的存储将会为后期的分析问题带来 ...
- Greenplum实战之查询优化
本文主要分为三部分: GP优化需要准备的一些关于优化之外的知识,包括清空缓存.性能监控.执行计划分析. 具体优化措施,从以下四个方面考虑: 表.字段 sql GP配置.服务器配置 硬件及节点资源 GP ...
- 001-官网安装openstack之-安装前基础环境准备
0.安装常用软件包(根据个人习惯安装需要的软件包) [root@localhost ~]# yum -y install wget vim ntp net-tools tree openssh 1.配 ...
- 一步一步学会preload和prefetch
preload和prefetch是什么? 我们常说的preload和prefetch,是link标签rel里新增的两种值,用于让浏览器提前加载指定的资源,它们会先被缓存(属于http cache缓存) ...