[教學] Magisk v20.4 – The Magic Mask for Android 簡易安裝流程

Magisk 是 topjohnwu 在 XDA 所釋出的 MOD,主要是提供一個通用介面來讓開發者能夠較為輕鬆的開發以及維護 Systemless 架構的功能模組,其中在處理 Android Pay 使用 SafetyNet API 導致無法在 root 過的手機上面運作的情況,意外也解決了 Pokemon GO 運用 SafetyNet API 來防止玩家在 root 過的手機上玩寶可夢,讓 Magisk 獲得了不少目光。

所謂無心插柳柳成蔭,systemless root + Magisk 的組合意外提供了很合宜的解決方案,讓擁有 root 權限的手機能夠避開使用 SafetyNet API 的軟體驗證,讓想要使用 Android Pay 或 Pokemon GO 的使用者,卻又想保留 root 權限的需求能夠魚與熊掌兼得。

當然隨著 Magisk 的開發,不管是安裝流程、功能整合或者是管理工具操作等也越來越完善,除了預設就會取得 Systemless root 權限之外,在針對使用 SafetyNet API 的 App 就會自動隱匿,不熟悉的使用者也不需要進行額外的設定,以下就是簡易的安裝流程與操作分享。

安裝基本需求及注意事項

  • 手機韌體版本需為 Android 4.2 (SDK 17+) 以上並已解鎖,同時可使用 TWRP Recovery (3.0.2+) 以上版本
  • 手機須移除任何形式的 root 權限,若是選用第三方韌體也務必選擇無內建或可移除 root 權限

相關軟體說明

  • 軟體名稱 : Magisk v20.4
  • 軟體用途 : Magisk 主體
  • 軟體名稱 : Magisk Manager v7.5.1
  • 軟體用途 : Magisk 功能管理工具
  • 軟體名稱 : Magisk Uninstaller
  • 軟體用途 : Magisk 反安裝工具,可預先下載至手機備用

參考資訊

  1. Magisk – The Magic Mask for Android
  2. GitHub – topjohnwu/Magisk: A Magic Mask to Alter Android System Systemless-ly
  3. Magisk and MagiskHide Installation and Troubleshooting guide

安裝流程

20191015210314 77
連上 topjohnwu 在 Github 的 Magisk 專案頁面,下載最新版本的 Magisk Manager APK 並安裝

目前 Magisk 的安裝方式可分為透過 TWRP 安裝 Zip 刷機包與 Patch Boot Image 後手動刷入兩種方式,簡易安裝流程分述如下:

方法一 : TWRP

20191015210317 72
首次執行 Magisk Manager 的時候,會看到顯示「未安裝 Magisk」紅字,這時點擊安裝最新版本 Magisk

建議可先至專案頁面下載 Magisk Uninstaller 備用,避免安裝後無法正常運作,方便回到 TWRP 將其移除

20191015210319 38
模式選取「僅下載ZIP」,完成下載後,可在下載項目中看到最新版本的 Magisk ZIP 刷機包

20191015210326 46
將手機切換到 TWRP Recovery Mode,按下 Install 後,選取安裝 Magisk ZIP 刷機包

20191015210327 50
滑動按鈕確認刷入,待安裝完畢後,按下「Reboot System」重啟系統

20191015210334 93
如有安裝成功且正確運作,SafetyNet 和 Root 權限應該都可順利通過檢查

方法二 : Patched Boot Image

此方式是用於手機並未安裝 TWRP,且有官方韌體包可提取 Boot.img 的情況下使用 (例如 Google 系列手機的 Factory Image 或者 Samsung 系列手機的 ODIN),使用 Google 手機的相關提取方式,可參考「 [教學] Google Pixel 3 XL 手動刷機操作流程 – Unlock, Root, Factory Rom, TWRP, Relock」文中「取得 root 權限」章節,本文就不贅述

20191015210336 66
首次執行 Magisk Manager 的時候,會看到顯示「未安裝 Magisk」紅字,這時點擊安裝最新版本 Magisk

20191015210337 70
模式選取「選擇並修改檔案」,選取提取好並上傳到手機中的 boot.img

20191015210339 2
這時 Magisk Manager 會自動下載最新版本 Magisk,並自動重新封裝 boot.img,完成後會在下載項目中看到 magisk_patched.img

20190926215545 12

  1. 重複 「驗證 ADB Interface 驅動狀態」 流程
  2. 輸入 adb pull /sdcard/Download/magisk_patched.img 將重新封裝的 magisk_patched.img 下載至 C:\platform-tools
  3. 將手機切換到 fastboot 模式,並 「驗證 Bootloader Interface 驅動狀態」
  4. 輸入 fastboot flash boot_a magisk_patched.img 覆蓋 Boot A 的 boot.img
  5. 輸入 fastboot flash boot_b magisk_patched.img 覆蓋 Boot B 的 boot.img
  6. 將手機重新開機

20191015214336 55
如有安裝成功且正確運作,SafetyNet 和 Root 權限應該都可順利通過檢查

 

隱藏 root 權限 (Magisk Hide)

20190528175045 27
當然還是有不少 App 會檢查手機是否有 root 的情況,以悠遊卡 Easy Wallet 為例,開啟 Magisk Manager 後進入 Magisk Hide,找到 Easy Wallet 勾選隱藏後就可以正常執行

隱藏 Magisk 安裝足跡

誠如其名,Magisk Hide 主要是用來隱藏手機安裝 Magisk 的事實,藉此規避某些軟體的檢查

20190528175049 36
進入 Magisk Manager 點擊設置,按下隱藏 Magisk Manager

20190528175052 19
隱藏會花上一點時間,出現還原 Magisk Manager 設置選項時就代表完成隱藏

移除 Magisk

20190528175056 66

  • 若要移除 Magisk,僅需開啟 Magisk Manager,點選「解除安裝/完全解除安裝」後,會自動下載並執行 Magisk Uninstaller
  • 若是使用「補丁 Boot 映像文件檔」的方式安裝,點選「還原原廠映像檔」後重啟手機即可