最近一周以来,微信小程序游戏“跳一跳”可谓是刷爆朋友圈。不过你会发现排行榜上的好友玩出了动辄上千上万的分数,这背后的秘诀是什么呢?
哈哈,当然就是“开挂”啦!
不过,我写这篇文章可不是为了教大家怎样去开挂,而是让大家体会到计算机技术的巧妙应用。至于游戏嘛,还是要凭真本事去玩,那才有意思。
首先,开挂的方法有多种,最简单粗暴的方式就是抓包并篡改游戏向服务器提交的数据。用这种方法可以轻松拿到任意分数,不过现在已经失效了。而我在这里提到的是一种相对无害的方法,并不修改游戏本身的数据,只是借助程序帮助我们计算游戏中的目标距离并完成自动化操作。
简单理解,就是让计算机代替人来玩这个游戏。
以下的操作方法针对 Android 手机,电脑上使用 Windows 系统。 iOS 上的方案也是有的,不过我没有亲自测试过,就不在这里提及。
准备 Python
Python 是当今最热门的编程语言之一,拥有大量丰富而强大的库。本次我们需要用到 Python 编写的脚本程序,所以如果你电脑上还没有安装 Python 3.x 和其包管理工具 pip3 的话,可以在 Python 官网上获取并安装。安装完毕以后,还要添加到 Windows 的环境变量中。
本次我们需要用到 Pillow 库。这是 Python 里的图像处理库,提供了了广泛的文件格式支持和强大的图像处理能力。安装的方法很简单,在 CMD 中输入以下命令:
pip3 install pillow
按下回车,如果出现确认信息的话,输入 “y” 再按回车即可。
准备 ADB Shell
ADB 工具可以让我们在电脑上用命令行轻松调试 Android 手机。打开以上网址的页面并选择 ADB Kits 进行下载。
安装完毕以后,我们用数据线将手机连上电脑。这时候我们需要在手机上确认允许开启“USB 调试”的功能。
另外,有些手机厂商为了安全起见,在系统设置中关闭了 ADB 模拟点击的权限。我们需要手动开启,以 MIUI 为例,我们需要在开发者选项中打开这项开关:
获取“外挂”脚本
https://github.com/wangshub/wechat_jump_game
我们可以在 Github 上下载自动操控“跳一跳”的项目代码。感谢 wangshub 为我们准备了现成的代码,你只需要在这个页面下载即可。
对下载后的 ZIP 压缩包进行解压,得到一个文件夹。把刚才下载的 ADB 工具那三个文件移动到这个文件夹中,待会儿我们的脚本程序才能通过 ADB 工具控制手机。
一切就绪
将手机连上电脑,在手机微信上打开“跳一跳”游戏的界面。
在我们下载的脚本文件夹中找到 wechat_jump_auto.py,在其右键菜单中选择 IDLE 打开。为什么不直接在 CMD 或者 Powershell 里运行呢?因为我发现脚本中的中文字符使得在控制台下运行的时候会导致错误(可能是因为我使用英文版系统的缘故)。
直接按 F5,运行脚本。
之后程序就会一直运行下去,你会看到手机上的棋子开始自己跳动。在这过程中,电脑上会不断弹出空白的控制台窗口并很快消失。
虽然程序操控也会有失手的时候,但是玩出高分成绩肯定是不成问题的。
结语
本期的讲解到底这里就结束啦。经过这次“开挂”体验,我们也对 Python、ADB 等工具的应用有了更多的体会。最终刷出来的成绩是否能留在排行榜上并不重要,重要的是我们学到了东西,并且感受到了十足的乐趣。
另外说句题外话,我不得不吐槽一下这游戏的难度。要想手动跳过这一步,真不知要花掉多少运气 ><
祝大家玩得开心!我还会和大家分享更多有趣的技术和互联网资讯。