程序员从技术角度教你如何霸占“跳一跳”排行榜

它甚至比五六年前的飞机大战游戏都火爆,这种小游戏的火爆不仅仅是因为有魔性、有意思,更重要的是可以进行好友 PK!

“跳一跳”的小游戏推出后,很多准备奋发向上的同学,这个假期的美好愿景被毁了。

为了多跳几步,提升朋友圈的排名,大家在整个假期都是这样的:

就这样跳啊跳...

挤地铁跳,蹲马桶跳,乘电梯跳

静默的每 1 秒都不浪费

费尽心思跳了一下午

还是没超过 100 分

然后再看看下面这个榜单

你会发现自己对这个游戏一无所知

因为,大神们玩的从来不是游戏,是程序......

下面小蓝就给同学们分享一下,使用技术手段如何霸占排行榜。

技术手段实现高分

通过 Python 手段

在 Github 上面已经有人用 Python 来玩跳一跳这个游戏了,想多少分就有多少分。GitHub 地址:https://github.com/wangshub/wechat_jump_game

步骤:

很有趣!简单点说就是:用电脑帮你玩微信跳一跳,全自动,不用手动。效果:

这里梳理一份稍微完整一点的操作步骤,以 Mac 的为例,Win 的思路是一样的。另外,这里用的是安卓手机,iOS 也差不多,不过要下载一个 5.5GB 的 Xcode。

1、下载程序,打开下面的链接,点右侧 clone or download,再点 download zip。

2、解压 zip 文档,再把文件夹挪到桌面,打开文件夹,你会看到很多东东:

3、打开 mac 系统自带的“终端”,这是一个命令行应用,win 用 cmd 就可以了吧。

4、通过终端进入文件夹,命令行如下:

~/Decktop/wechat_jump_game-master

5、安装 pip,在终端输入 sudo easy_install pip 再回车,可能要输入密码。

6、安装各种依赖程序,在终端输入 pip install -r requirements.txt 再回车,系统会自动安装。

requirements.txt 就是文件夹里的一个 txt 文档,里面写着会自动安装哪些程序。

pip 就是第 5 步安装的程序,如果没安装,pip install -r requirements.txt 将无法执行。

7、安装 adb,打开下面的链接查看,有 3 种方法,建议用第二种,是英文,如果你不懂英文可以百度中文教程。https://stackoverflow.com/questions/31374085/installing-adb-on-mac-os-x

8、打开安卓手机的设置 - 开发者选项 - USB 调试(如果没有开发者选项,可百度打开开发者选项的方法),用 USB 线连接手机和电脑,手机可能会弹出对话框,点同意。

如果出现运行脚本后小人不跳的情况,请检查是否有打开“USB 调试(安全模式)”,记得顺便打开 USB 模拟点击。

9、在终端输入 adb devices,如果看到下面这种信息,说明 adb 已正确安装,也说明电脑成功检测到手机。

如果你系统是 Win10 或 Win8 可能需要先设置一下“禁用强制驱动程序签名”。

不然会出现下面的“文件的哈希值不在指定目录中”安装不上 adb 驱动的问题,网上有教程请自行学习。

注意:

实验结果:

只要有耐心,你就是王者

下面分析一下代码,Main 部分有一个 While 循环,只要你不终止,它会一直重复操作。

Main部分代码里面主要调用的自定义函数有三个,还有一个 time.sleep 是为了延迟一下:

pull_screenshot() #获取图像

find_piece_and_board(im) #根据图像获取两个点的坐标值

jump(math.sqrt((board_x - piece_x) ** 2 + (board_y - piece_y) ** 2))#根据两点距离和手机像素计算按压时间并 JUMP

pull_screenshot()

这个函数主要是利用 adb 来获取图像,这里顺便说一下“adb”,adb 是连接 Android 手机与 PC 端的桥梁,可以让用户在电脑上对手机进行全面的操作。

借助 adb 工具,我们可以管理设备,还可以进行如安装软件、系统升级、运行 Shell 命令等等操作。如“pull”就是获取设备中的文件,想更多了解 ADB 请自行学习~

find_piece_and_board()

根据图像获取当前小人位置和落点的坐标系(piece_x, piece_y, board_x, board_y),这个是这个脚本中的核心部分。

jump

根据设定的“长按的时间系数”计算需要的按压时间,这个系数是根据手机分辨率推出来的,按压时间设定不小于 200ms,核心命令是 adb 的“input swipe”。

“input swipe”模拟的是手指在屏幕上的滑动事件,如果两个点坐标不变化就成了长按了。

代码中四个变量的设置是:“swipe_x1,swipe_y1,swipe_x2,swipe_y2 = 320,410,320,410”,所以是模拟的长按,其实滑动也是可以的。

伪造 POST 请求刷分

除了可以用 Python 实现高分,还有网友爆料还可以直接伪造 POST 请求刷分,直接改分数。

昨日,V2EX 网站上一篇题为《微信跳一跳 可以直接更改分数, POST 请求没有校验… 》的文章获得大量曝光,帖中指出微信小程序存在漏洞,跳一跳小游戏可以直接改分数。

用户朱鹏飞根据帖子的指引,发现甚至连微信小程序、小游戏的源代码都可以直接下载,只需要知道 appid 和版本号,就可以直接构造 URL 下载后缀为 wxapkg 的源码包,不需要任何验证。

截自 1 月 1 日 23:50,微信官方已经修复了这个漏洞。不过,据说一些老版本的微信还是可以抓包获取包地址。

最后一个,据消息微信已经修复 Bug(部分版本没有修复),但只要利用好前面的攻略,再配合对节奏的把握,登上朋友圈前几完全不在话下。

话不多说,赶紧去玩吧!!!

来源:51CTO

本文来自企鹅号 - 蓝桥杯媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏轻扬小栈

aria2,SO COOL,用于迅雷离线

1143
来自专栏FreeBuf

以针对Yahoo! 的安全测试为例讲解如何高效的进行子域名收集与筛选

平常我在Hackerone平台上寻找新目标时,常常会关注厂商响应信息,如果厂商响应越积极我就越感兴趣。相对于响应信息很少的厂商而言,我们更能从中摸索到问题的本质...

2717
来自专栏FreeBuf

“暗云”BootKit木马详细技术分析

“暗云”木马简介: “暗云”是一个迄今为止最复杂的木马之一,感染了数以百万的计算机,暗云木马使用了很多复杂的、新颖的技术来实现长期地潜伏在用户的计算机系统中。其...

1906
来自专栏Kurt Niu 的博客

自己制作一个USB自动挖矿器

这时候你只需要花十块钱制作如下设备,然后钻到桌子底下装作系鞋带, 把设备插到他主机箱后边的USB接口,倒数三秒钟,再拔下来... 这时候他的电脑CPU已经占用...

722
来自专栏FreeBuf

一次XorDDos变种样本的分析实战记录(附工具下载)

*本文原创作者:熊猫正正 ,本文属FreeBuf原创奖励计划,未经许可禁止转载 ? 一、起因 上周五晚上,前同事丢给我一个样本,让我帮他分析一下,周未有事也没时...

2717
来自专栏针针小站

【Soft】QQ 9.0 – 从心出发 趣无止境

1103
来自专栏Small Code

【TensorFlow | 升级】TensorFlow 1.0 发布

NOW 首届 TensorFlow 开发者大会(TensorFlow Dev Summit)已于美国时间昨日召开,YouTube 还进行了直播。更重要的是,Te...

19110
来自专栏BIT泽清

上架提审词不带关键词的马甲包也能获得高流量收益方案

开发者发布商(用于显示上架开发商的名字,原先大家都是按照自己开发者的名字的,我在7月2号上架成功后客户说包不是很好,因为提审词不怎么样,所以一直感觉有点对不起客...

965
来自专栏FreeBuf

文档化身商业木马,对“盗神”的分析与溯源

前言 利用文档进行木马传播的手法,最近一段时间随着敲诈类木马的流行,而被广泛利用了起来。与此同时,这个手法也开始被传统木马所借鉴。近日哈勃分析系统捕捉到一类隐私...

1665
来自专栏FreeBuf

逆向工程分析:摩托罗拉安全摄像头究竟有多不安全?

写在前面 这年头,谁家不得防贼防盗防小三?云安全摄像头也就变得越来越盛行了。可虽然叫“安全”摄像头,它们本身的安全性或许并不怎么样。这款摩托罗拉Focus 73...

18810

扫码关注云+社区