微信跳一跳-物理外挂
微信最近在微信发布了跳一跳游戏,很是流行,朋友圈很多人都在玩。
好奇之余,我也打了很多把,无奈没有天赋,分数排名总是很低,查询别人打高分的技巧,不小心发现了歪路,哈哈。
物理外挂
起初我是看到,有人使用安卓手机,监测屏幕,计算两个物体的中心坐标,然后使用 adb 调试安卓手机,模拟点击屏幕达到跳跃的效果,因为按压时间是通过距离测算出来的,所以非常精确。
但是我用的 iPhone 手机,前面的步骤都可以完成,最后一步操作手机按压没法去模拟,正好我手头有个树莓派,我寻思是不是能用树莓派来控制一个硬件去直接点击屏幕,来完成点击效果呢,想着查了一下,没想到真有人做,而且也实现了。 感觉很有意思,而且我买的树莓派一直没派上什么实际用场,我决定拿来玩一玩,来做一个物理外挂。
使用原件
- 树莓派
- 舵机
- 面包板
- 橙子(用于导电)
- 一小块海绵
实现思路
- 首先将 iPhone 接入连上电脑,下载一个 iPhone 屏幕同步软件,可以使用 iTools
- 然后在屏幕上截取手机图片,根据两个物体的中点,计算两个物体间的距离,此部分的代码可以参考 https://github.com/wangshub/wechat_jump_game 并且将距离信息转换为时间长短信息发送给树莓派
- 树莓派驱动舵机转动一定的角度停留设置的时间,完成按压
- 因为直接的物体按压到手机屏幕并不能模拟点击的效果,这里用一个橙子插入导线,导线下方在手机上放一块湿的海绵,就可以模拟人体的生物电完成点击
- 按压一次完成后,重复第3步的操作,直至游戏结束,目前测试可以玩到1000+的分数,应该可以更多
因为树莓派刷机过一次,这部分代码没有备份,竟然丢了,还好当时录下了一个视频,留个纪念吧
后记
这个物理外挂当然不会被封掉,因为它是实际操控手机屏幕完成的,没有启用机器debug,也没有操作任何手机进程。 不过后果就是,有了游戏的外挂,游戏就不好玩了,刷了几天第一,就再也没玩过这个跳一跳游戏,外挂果然毁游戏啊。
本文由作者按照
CC BY 4.0
进行授权