从前几天微信***版本 6.6.1 的更新开始,微信小程序游戏“跳一跳”似乎在一夜之间风靡了朋友圈。
[[216189]]
它甚至比五六年前的飞机大战游戏都火爆,这种小游戏的火爆不仅仅是因为有魔性、有意思,更重要的是可以进行好友 PK!
[[216190]]
“跳一跳”的小游戏推出后,很多准备奋发向上的同学,这个假期的美好愿景被毁了。
为了多跳几步,以及朋友圈的排名,
大家在整个假期都是这样的:
[[216191]]
就这样跳啊跳…
挤地铁跳,蹲马桶跳,乘电梯跳,
静默的每 1 秒都不能浪费
[[216192]]
在办公室,还要时刻警觉后面…
[[216193]]
说好的工作呢…我控制不住我自己啊!
[[216194]]
可是很多人费尽心思跳了一下午
也没超过 100 分
但排行榜里四分之三的人都超过三位数了……
真是扎心了……
今天小编来告诉你,如何才能获取高分,如何才能占据朋友圈榜首?
游戏攻略拿高分
普通版本的高分秘籍是这样的:
[[216195]]
以上是针对普通用户,但对咱们程序猿来说用这套太 Low 了,接下来要说的是如何从技术层面去实现高分:
技术手段实现高分
通过 Python 手段
在 Github 上面已经有人用 Python 来玩跳一跳这个游戏了,想多少分就有多少分。
GitHub 地址:https://github.com/wangshub/wechat_jump_game
步骤:
另外,这里用的是安卓手机,iOS 也差不多,不过要下载一个 5.5GB 的 Xcode。
1、下载程序,打开下面的链接,点右侧 clone or download,再点 download zip。
2、解压 zip 文档,再把文件夹挪到桌面,打开文件夹,你会看到很多东东:
3、打开 mac 系统自带的“终端”,这是一个命令行应用,win 用 cmd 就可以了吧。
[[216196]]
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 驱动的问题,网上有教程请自行学习。
10、打开微信跳一跳点开始,在终端输入 python wechat_jump_auto.py 点回车,游戏就会自动开始~ 请根据手机分辨率运行相应的 *.py 文件。
注意:
我跳了很多次,***都会掉下盒子,暂时最多只能跳到 1800+ 分,不能一直跳下去。
分辨率不同,配置文件也不一样,具体看 config 这个文件夹。
别刷太高分,有人刷到 4000,结果分数被微信清零。
实验结果:
[[216197]]
只要有耐心,你就是王者
[[216198]]
下面分析一下代码,Main 部分有一个 While 循环,只要你不终止,它会一直重复操作。
Main部分代码里面主要调用的自定义函数有三个,还有一个 time.sleep 是为了延迟一下:
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,微信官方已经修复了这个漏洞。不过,据说一些老版本的微信还是可以抓包获取包地址。
[[216200]]
***一个微信已经修复 Bug(部分版本没有修复),但只要利用好前面两个攻略,再配合对节奏的把握,登上朋友圈前几完全不在话下。
话不多说,赶紧去玩吧!!!
网页标题:程序员玩手游的方式看完快去玩吧~
文章链接:http://www.shufengxianlan.com/qtweb/news26/330526.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联