使用 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 權限

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

隱藏 Magisk Manager 安裝足跡

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注意事項

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