首页 微信跳一跳-物理外挂
Post
Cancel

微信跳一跳-物理外挂

微信最近在微信发布了跳一跳游戏,很是流行,朋友圈很多人都在玩。
好奇之余,我也打了很多把,无奈没有天赋,分数排名总是很低,查询别人打高分的技巧,不小心发现了歪路,哈哈。

物理外挂

起初我是看到,有人使用安卓手机,监测屏幕,计算两个物体的中心坐标,然后使用 adb 调试安卓手机,模拟点击屏幕达到跳跃的效果,因为按压时间是通过距离测算出来的,所以非常精确。

但是我用的 iPhone 手机,前面的步骤都可以完成,最后一步操作手机按压没法去模拟,正好我手头有个树莓派,我寻思是不是能用树莓派来控制一个硬件去直接点击屏幕,来完成点击效果呢,想着查了一下,没想到真有人做,而且也实现了。 感觉很有意思,而且我买的树莓派一直没派上什么实际用场,我决定拿来玩一玩,来做一个物理外挂。

使用原件

  • 树莓派
  • 舵机
  • 面包板
  • 橙子(用于导电)
  • 一小块海绵

实现思路

  1. 首先将 iPhone 接入连上电脑,下载一个 iPhone 屏幕同步软件,可以使用 iTools
  2. 然后在屏幕上截取手机图片,根据两个物体的中点,计算两个物体间的距离,此部分的代码可以参考 https://github.com/wangshub/wechat_jump_game 并且将距离信息转换为时间长短信息发送给树莓派
  3. 树莓派驱动舵机转动一定的角度停留设置的时间,完成按压
  4. 因为直接的物体按压到手机屏幕并不能模拟点击的效果,这里用一个橙子插入导线,导线下方在手机上放一块湿的海绵,就可以模拟人体的生物电完成点击
  5. 按压一次完成后,重复第3步的操作,直至游戏结束,目前测试可以玩到1000+的分数,应该可以更多

因为树莓派刷机过一次,这部分代码没有备份,竟然丢了,还好当时录下了一个视频,留个纪念吧

后记

这个物理外挂当然不会被封掉,因为它是实际操控手机屏幕完成的,没有启用机器debug,也没有操作任何手机进程。 不过后果就是,有了游戏的外挂,游戏就不好玩了,刷了几天第一,就再也没玩过这个跳一跳游戏,外挂果然毁游戏啊。

This post is licensed under CC BY 4.0 by the author.

搭建本地的 Jenkins 持续集成系统

一个简便的 Excel 导出方案