快轉到主要內容

Waydroid躲避Root偵測 & 安裝Magisk與Xposed

· 民國113年甲辰年
·
切換正體/简体 ·
分類 資訊科技 虛擬機與容器技術
標籤 Waydroid Magisk Xposed
目錄

有時候APP會把Waydroid當成root過的破解裝置,不給執行,例如Apple Music。

可是問題是根本就沒root啊?誰說的,Waydroid基於LineageOS開發,本身就是有root權限的,用waydroid shell指令進去輸入su不就看到了。

Waydroid連最基本的Play Integrity API等級都無法通過,因此部份APP會拒絕執行。

另外,由於Waydroid是LXC容器,所以會抓Bootloader解鎖的APP就無法使用。

1. 測試環境
#

  • Ubuntu 24.04
  • Waydroid版本:LineageOS 20 (Android 13)

2.防root偵測方法
#

相關文章:Android手機Magisk防Root偵測

如果上述步驟都做了還是被偵測到root,那可能有更底層的原因,例如Waydroid的映像檔使用了userdebug標籤建置,SELinux不完全,甚或被當成模擬器等等。

相關問題請到Waydroid的Github issue詢問。

3. 嘗試僞裝機型
#

使用Quackdoc/waydroid-scripts修改build.prop,將Waydroid偽裝成Pixel裝置:

git clone https://github.com/Quackdoc/waydroid-scripts.git

cd waydroid-scripts

chmod +x spoof-device.sh

sudo ./spoof-device.sh

sudo systemctl restart waydroid-container

這個能夠在Android 13以下的系統通過Play Integrity。但不見得能通過大部分Root偵測。

4. 安裝Root權限管理器
#

安裝Root權限管理器或可以針對Root偵測做更多應對,例如可以安裝TEESimulator模組,更可以裝Xposed攔截,部分遊戲就可以過驗證。

Magisk
#

  1. 因應Google日益嚴峻的Root偵測,這裡Magisk裝的是專為反Root偵測設計的分支版:Kitsune Mask (Magisk Delta)

  2. 因為Waydroid沒有TWRP,所以得借助外部工具刷入。修改Waydroid的boot.img。例如casualsnek的Python指令稿

git clone https://github.com/casualsnek/waydroid_script

cd waydroid_script

python3 -m venv venv

venv/bin/pip install -r requirements.txt

sudo venv/bin/python3 main.py
  1. 依照畫面指示,安裝Magisk,然後重新啟動Waydroid。

KernelSU
#

  1. 由於KernelSU需要在kernel space運作,不能單靠user space安裝,所以必須在Linux Host安裝額外的kernel modules修改開機過程。

  2. Ubuntu發行版安裝這個DKMS模組:https://github.com/shadichy/kernelsu-dkms-debian/。警告:安裝這個會自動將開機引導變成rEFInd。

  3. 然後在Waydroid安裝KernelSU Manager

5. 安裝Xposed
#

Xposed能夠讓HideMyApplist運作

安裝Root權限管理器後再參照Xposed安裝,需要Zygisk。

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。