前言

最近微信跳一跳这个小游戏火爆, 由于朋友排行版的存在, 激发了我们的上(pan)进(bi)心. 除了正常方式爆肝提高分数以外, 也有各种技术宅的非正常手段出来:

  1. 抓包拦截请求, 直接改游戏结束之后, 提交到服务器的分数
  2. 物理外挂, 用机械手指和摄像头, 识别距离, 计算点击时间, 控制机械手指按下去的时间
  3. 利用手机调试模式, 屏幕截图, 识别方块距离, 计算点击时长, 调用系统函数模拟点击屏幕

第 3 种方法相当于第 2 种方法的软件版, 本文用的就是这种方式

ps: 目前方法 1 的提交漏洞已经被修复, 方法 3 特别是方法 2 原理上是模拟人的操作 (代码中有故意随机偏移落地点和停顿间隔), 理论上微信是没法区别的, 但是微信貌似有一套成长曲线检测方法, 如果你的进步曲线不科学, 还是会把你分数清零的

准备

  1. 硬件

    • 装有 Mac OS 系统的电脑
    • iPhone 手机
    • 数据线
    • 🤣
  2. 软件及依赖 (安装步骤在后面)

    • wechat_jump_game ( python实现的 微信《跳一跳》辅助, 支持 Android 和 iOS)
      • Python
    • WebDriverAgent ( facebook 出品的一个让 iOS 设备提供远程控制功能的服务端. ps:facebook没维护了, 交给了appium维护, 文中的链接已经更新)
      • Xcode (Apple开发工具)
      • Carthage (Cocoa依赖管理器)
        • Homebrew
    • facebook-wda (通过连接到 WebDriverAgent 来控制 iOS 设备的 Python 客户端库)
      • Python
    • libimobiledevice (这里用于把手机的端口映射到电脑)
      • Homebrew

安装

  • 已经安装过的软件可以跳过, 本文假设是个新电脑~
  • 为了观看顺畅性, 减少跳转, 本文结合了很多其他教程, 遇到问题时可以跳到参考教程看看
  • 以下代码段中的命令都是在终端中执行

安装 Xcode

安装 WebDriverAgent (参考教程)

  1. 安装 Homebrew :

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. 安装 Carthage (参考教程):

    brew install carthage
    
  3. 下载 WDA 源码:

  4. 运行 WDA 初始化脚本:

    1. 更改执行目录到刚刚下载的 WDA 的文件夹
      cd /Users/xxx/xxx/ #记得改成 WDA 的目录
      
    2. 执行初始化脚本
      ./Scripts/bootstrap.sh
      
  5. 打开 Xcode 运行 WDA 项目

    1. 真机运行需要设置证书, 为了防止跟别人冲突可以先修改 BundleID
    2. 选择 WebDriverAgentRunner 这个 target
    3. 运行测试, Product -> Test, (是Test不是Run)
    4. 如果运行成功, Xcode 控制台会打印 WDA 服务端地址, 如 http://10.0.0.1:8100
    5. 可以加上/status合成一个url地址。例如http://10.0.0.1:8100/status,然后浏览器打开。如果出现一串JSON输出,说明WDA安装成功了。

安装端口转发工具

  1. brew install libimobiledevice
  2. iproxy 8100 8100
  3. 这个时候就可以用 http://localhost:8100/status 来访问刚刚那个地址了

安装 facebook-wda

  1. 先安装 Python3: https://www.python.org/downloads/release/python-364/
  2. 执行命令 pip3 install --pre facebook-wda

安装 wechat_jump_game

  1. 直接打开 https://github.com/wangshub/wechat_jump_game 下载

  2. 拷贝 wechat_jump_game/config/iPhone 目录下对应的设备配置文件,重命名并替换到 wechat_jump_game/config.json

  3. 更改执行目录到刚刚下载的 wechat_jump_game 的文件夹

    cd /Users/xxx/xxx/ #记得改成 wechat_jump_game 的目录
    
  4. 执行命令 pip3 install -r requirements.txt

开始愉快的玩耍

  1. 打开 微信 小程序 跳一跳 到游戏界面
  2. 电脑上执行命令 python3 wechat_jump_auto_iOS.py
  3. 围观跳一跳自动跳 🤣

未命名.png

https://www.bilibili.com/video/av18858894/