前言
最近微信跳一跳這個小游戲火爆, 由于朋友排行版的存在, 激發了我們的上(pan)進(bi)心. 除了正常方式爆肝提高分數以外, 也有各種技術宅的非正常手段出來:
- 抓包攔截請求, 直接改游戲結束之后, 提交到服務器的分數
- 物理外掛, 用機械手指和攝像頭, 識別距離, 計算點擊時間, 控制機械手指按下去的時間
- 利用手機調試模式, 屏幕截圖, 識別方塊距離, 計算點擊時長, 調用系統函數模擬點擊屏幕
第 3 種方法相當于第 2 種方法的軟件版, 本文用的就是這種方式
ps:
目前方法 1 的提交漏洞已經被修復, 方法 3 特別是方法 2 原理上是模擬人的操作 (代碼中有故意隨機偏移落地點和停頓間隔), 理論上微信是沒法區別的, 但是微信貌似有一套成長曲線檢測方法, 如果你的進步曲線不科學, 還是會把你分數清零的
準備
-
硬件
- 裝有 Mac OS 系統的電腦
- iPhone 手機
- 數據線
- ??
-
軟件及依賴 (安裝步驟在后面)
-
wechat_jump_game ( python實現的 微信《跳一跳》輔助, 支持 Android 和 iOS)
- Python
-
WebDriverAgent ( facebook 出品的一個讓 iOS 設備提供遠程控制功能的服務端)
- Xcode (Apple開發工具)
- Carthage (Cocoa依賴管理器)
- Homebrew
-
facebook-wda (通過連接到 WebDriverAgent 來控制 iOS 設備的 Python 客戶端庫)
- Python
- libimobiledevice (這里用于把手機的端口映射到電腦)
- Homebrew
-
wechat_jump_game ( python實現的 微信《跳一跳》輔助, 支持 Android 和 iOS)
安裝
- 已經安裝過的軟件可以跳過, 本文假設是個新電腦~
- 為了觀看順暢性, 減少跳轉, 本文結合了很多其他教程, 遇到問題時可以跳到參考教程看看
- 以下代碼段中的命令都是在終端中執行
安裝 Xcode
安裝 WebDriverAgent (參考教程)
-
安裝 Homebrew :
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
安裝 Carthage (參考教程):
brew install carthage
-
下載 WDA 源碼:
-
運行 WDA 初始化腳本:
- 更改執行目錄到剛剛下載的 WDA 的文件夾
cd /Users/xxx/xxx/ #記得改成 WDA 的目錄
- 執行初始化腳本
./Scripts/bootstrap.sh
- 更改執行目錄到剛剛下載的 WDA 的文件夾
-
打開 Xcode 運行 WDA 項目
- 真機運行需要設置證書, 為了防止跟別人沖突可以先修改 BundleID
- 選擇 WebDriverAgentRunner 這個 target
- 運行測試, Product -> Test, (是
Test
不是Run
) - 如果運行成功, Xcode 控制臺會打印 WDA 服務端地址, 如
http://10.0.0.1:8100
- 可以加上
/status
合成一個url地址。例如http://10.0.0.1:8100/status
,然后瀏覽器打開。如果出現一串JSON輸出,說明WDA安裝成功了。
安裝端口轉發工具
brew install libimobiledevice
iproxy 8100 8100
- 這個時候就可以用 http://localhost:8100/status 來訪問剛剛那個地址了
安裝 facebook-wda
- 先安裝 Python3: https://www.python.org/downloads/release/python-364/
- 執行命令
pip3 install --pre facebook-wda
安裝 wechat_jump_game
拷貝
wechat_jump_game/config/iPhone
目錄下對應的設備配置文件,重命名并替換到wechat_jump_game/config.json
-
更改執行目錄到剛剛下載的 wechat_jump_game 的文件夾
cd /Users/xxx/xxx/ #記得改成 wechat_jump_game 的目錄
執行命令
pip3 install -r requirements.txt
開始愉快的玩耍
- 打開 微信 小程序 跳一跳 到游戲界面
- 電腦上執行命令
python3 wechat_jump_auto_iOS.py
- 圍觀跳一跳自動跳 ??
tiaoyitiao.jpg