使用 Magisk 實現寶可夢虛擬定位飛人設定教學 (2019/05)

Android 6.0/7.0 在 March 2017 的 Security Patch 修正了 GPS Spoofing 的漏洞,如想要繼續使用向是 Fly GPS 這類大家熟悉的虛擬定位輔助軟體,為有降版才能繼續正確運作,不過手機推出時間推出不同,不見得會有舊版的韌體可以使用,甚至出廠就已經是 Android 8.0,想要在手機上配合虛擬定位/虛擬搖桿來玩寶可夢,使用 Magisk 是目前唯一可行解法,不過由於 Magisk 本身對於手機韌體還是有相容性的問題,虛擬定位/搖桿軟體亦存在相同狀況,文中僅以記錄個人手機操作流程,並無法保證任何手機都能順暢無誤。

本文記錄步驟為個人經驗分享,僅提供參考,操作前請先行備份重要資料,如果操作後造成手機無法正常運作或使用者資料遺失,不負擔相關責任

操作需求

手機需求

  • 手機韌體版本須為 Android 5.0+ ,並已經安裝 Magisk 17.1+,同時也順利通過 Magisk Manager 內建的 SafetyNet 檢查
  • 尚未安裝 Magisk 的使用者,可參考「[教學] Magisk v19.2 簡易安裝流程」一文

電腦需求

測試環境

  • 手機韌體版本 : LineageOS 8.1.0/9.0.0
  • 寶可夢遊戲版本 : 0.143.2

前置作業

啟用開發人員選項/USB 偵錯

  1. 於開機後,進入 「設定」 / 「系統」 / 「關於手機」 的畫面後,將畫面滑至最底,連續點擊 「版本號碼」 七次後啟用開發人員選項
  2. 進入 「設定」 / 「系統」 / 「開發人員選項」,找到 「USB 偵錯」 並啟用
  3. 這時透過 USB 線材連接電腦與手機,此時手機會跳出 「電腦的 RSA 金鑰」,勾選 「一律允許透過這台電腦進行」 後按下 「確定」

驗證 ADB Interface 驅動狀態

  1. 下載 SDK Platform Tools 並解壓縮到 C:\platform-tools
  2. 確認手機已經啟用 「USB 偵錯」 並與電腦連接後,開啟命令提示字元,輸入 cd C:\platform-tools
  3. 輸入 adb devices 確認手機已透過 ADB Interface 與電腦連接並正確偵測
  • 如果 device 顯示 unauthorized,代表並未允許目前連接電腦所使用的 RSA 金鑰,請確認在 「USB 偵錯」 啟用的情況下,重新連接手機與電腦並加已授權
  • 如果 ADB/Bootloader Interface 並未正常驅動,在裝置管理員也顯示驚嘆號,請參考 「如何正確安裝 Google 通用驅動程式」 一文

隱藏 Magisk root 權限

20181118195505 23

進入 Magisk Manager 選單點選 「Magisk Hide」 ,對寶可夢隱藏 root 權限

隱藏 Magisk Manager 安裝足跡

20180915183734 92

進入 Magisk Manager 選單點選「設置」,按下「隱藏 Magisk Manager」

20180915183731 11

隱藏會花上一點時間,出現「還原 Magisk Manager」選項時,就代表完成隱藏

製作手機專屬 Magisk Smali Patcher 模組與安裝

使用 Smali Patcher 的主要目的,是擷取手機本身所使用包含 classes.dex 與 services.jar 等檔案,在加以修改後產生 Magisk 模組安裝檔,當手機套用後即可以隱藏使用虛擬定位的狀態,藉此規避軟體會去檢查是否使用虛擬定位的情形,操作流程如下:

20190528183527 50

  1. 請先到 [MODULE] Smali Patcher 4.0 下載 [email protected],解壓縮到任意資料夾後會得到 SmaliPatcher.exe 並執行,初次執行會自動從網路上下載必備檔案
  2. 確認 Mock locations 與 Signature spoofing 都都有勾選
  3. 連線手機與電腦後,確認 ADB Interface 有正常抓取到目的手機後按下 PATCH JAR

20190528183524 90

看到完成訊息後,產生的 Magisk 模組會與 SmaliPatcher.exe 在相同資料夾下方,檔名會是 [email protected],這時請將產生的壓縮檔上傳至手機中

20190528185749 7

開啟 Magisk Manager 後進入模組選單,點擊下方 + 圓形圖示,選取先前上傳到手機的 [email protected] 進行安裝

20190528185746 43

安裝完畢後按下重啟,重新進入 Magisk Manager 中的模組清單,即可看到 Smali Patcher 已經安裝完成並啟用

正確安裝虛擬定位/搖桿軟體

儘管 Smali Patcher 可以提供隱匿使用虛擬定位的狀態,不過在安裝虛擬定位軟體最重要的步驟,就是配合使用 Magisk 模組 App Systemizer 來將安裝好軟體本身轉為手機系統軟體,不過由於 Google Play 上各類虛擬定位軟體種類繁多,對於手機的支援性也不盡相同,是否適用仍須各位看官自行嘗試,下文將以 假定位 (偽裝GPS位置) 這套 App 為範例:

App Systemizer 所需軟體與安裝教學,請參考「[教學] 如何使用 Magisk 模組將應用程式轉為系統 App」一文,就不贅述

20181118185253 56

  1. 開啟 Termux 後輸入 su 來取得 root 權限
  2. 輸入 systemize 啟用 App Systemizer (Terminal)
  3. 輸入 1 來掃描目前已安裝 Apps

20181118185255 25

  1. 輸入 1 選擇 Fake Location (此處名稱會依 App 定義而有不同)
  2. 輸入 2 將 com.lkr.fakelocation 安裝至手機 /system/priv-app
  3. 完成後將手機重新開機來套用

20181118185257 58

  1. 手機重開完畢後,進入 「設定」 / 「系統」 / 「開發人員選項」
  2. 找到 「選取模擬位置應用程式」 並選取 假定位 (偽裝GPS位置)

20181118185258 58

啟用軟體定位位置後,開啟遊戲之後就會定位在指定位置,若要關閉虛擬定位,務必在跳出遊戲後再執行,避免瞬間移動去離過大造成系統判斷為可疑行為

注意事項

  • 安裝過程中,請務必將手機檔案下載項目中,有 Magisk 字眼的檔案都移除,避免寶可夢本身去掃描資料夾底下的檔案造成遊戲無法正常登入
  • 如要嘗試不同的虛擬定位軟體,建議務必使用 App Systemizer 先將原本已經轉為手機系統軟體的 App 先還原(需先重開機)再移除(重開機後),完成後再安裝其他虛擬定位軟體