前言
最近微信跳一跳這個小遊戲火爆, 由於朋友排行版的存在, 激發了我們的上(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 原始碼:
- 直接開啟 github.com/facebook/We… 下載
-
執行 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: www.python.org/downloads/r…
- 執行命令
pip3 install --pre facebook-wda
安裝 wechat_jump_game
-
直接開啟 github.com/wangshub/we… 下載
-
拷貝
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
- 圍觀跳一跳自動跳 ?