热门问题
时间线
聊天
视角

Root (Android)

来自维基百科,自由的百科全书

Remove ads

RootAndroid系統的一個術語,讓使用者可以取得Android系統的超級使用者權限。Root能夠幫助使用者越過手機製造商的限制,得以解除安裝本身預裝的程式,或執行需要系統權限的動作。[1]Android系統的root與蘋果iOS系統的越獄類似。

優點與缺點

優點

Root可以帶來一些顯而易見的好處。[2][3]

  • 訪問和管理裝置上的每個檔案,包括普通使用者不可見的檔案,例如/data目錄。使用者可以備份和還原整個系統,或把使用者數據複製到另一個已root的裝置。
  • 修改主題包,例如電池狀態指示器樣式、狀態列、虛擬導航鍵,甚至開機動畫英語Boot animation
  • 完全控制內核。在某些裝置上,使用者可以超頻CPU或GPU。
  • 完整的應用控制,包括備份還原和移除膨脹軟件
  • 安裝提供額外控制和管理root權限的應用,例如Xposed、Magisk、SuperSU英語SuperSUBusyBox
  • 使用更多Unix shell命令
  • 繞過裝置生產商和Google的一些限制,比如Android 10中引入的分區儲存(scoped storage)機制。[4]
  • 更多的任務管理能力,可以終止行為錯誤或未響應的系統行程。[5]
  • 可以直接降級應用,不會因為解除安裝應用導致數據遺失。[6]
  • 控制充電電流。既可以移除系統不必要的最大電流限制,加快充電速度,也可以限制電流,延長電池壽命。
  • 限制充電時的電池容量,減少損耗。(許多較新的系統會提供此功能)
  • 繞過螢幕擷取攔截。在正常情況下,安卓給予應用阻止使用者螢幕擷取/錄屏的權限,應用可以阻止使用者截取部分或整個應用。[7]
  • 繞過簽章驗證。一般情況下,應用需要由開發者簽章後才能安裝。
  • 無需外部裝置進行通話錄音。某些地區的法律要求進行通話錄音需徵求另一方同意。[8]
Remove ads

缺點

  • 導致軟件和硬件的穩定性問題。
  • 不能通過Play Integrity API認證,導致有些應用不能工作或不會顯示在Play store中。[9]在有些裝置上,解鎖bootloader後就不能通過認證了。


取得方法

漏洞

不同手機廠商、系統和版本可能存在的漏洞後門不同,因此不同手機的root原理、方法、難度都可能不同。Root需將su可執行檔案複製到Android系統的/system分區下(例如:/system/xbin/su)並用chmod命令為其設置可執行權限和setuid英語setuid權限。

曾經被廣泛利用的系統漏洞之一是zergRush,該漏洞適用於Android 2.2-2.3.6[10],因而適用於很多Android系統手機。zergRush的漏洞利用程式必須在adb shell下執行[11],而adb shell只能將手機用USB數據線與PC連接之後才能開啟,因此常用的root工具都是PC程式。其他漏洞還有Gingerbreak[12]、psneuter[13]等。

一些「一鍵root」工具(例如KingRoot)可以直接利用漏洞取得root,無需連接電腦,程式通常簡易操作,不需親自執行,但通常只對部分系統或機型適用。

為了讓使用者可以控制root權限的使用,防止手機上的任意應用程式直接獲得root權限,使用者通常還會將root管理程式複製(安裝)到/system/app,用以管理su程式的使用。常用的root管理器是SuperSU,它可以在Android 6.0以前的絕大部分平台上使用。由於Android應用程式在獲得root權限後可以完全控制手機,一般推薦使用者對於應用程式的權限請求仔細甄別。

隨着Android版本更新,這些漏洞已被修復。

Remove ads

Magisk

Magisk是當前Android社區用來取得root權限的主流方式,其作為一套用於客製化Android的開源工具,支援高於Android 6.0的裝置。與傳統的root方式不同的是,Magisk是systemless的,不會實際寫入檔案到/system分區。Magisk使用magic mount,將su檔案和模組中的部分檔案」對映」到/system分區上。

對於已解鎖Bootloader的裝置來說,主流的Magisk安裝方式有兩種,一為使用adb工具包中的fastboot命令刷入修補版boot啟動鏡像,二為刷入第三方recovery,通過第三方recovery安裝Magisk,然此方法目前已被作者標記為棄用。

KernelSU

KernelSU是一個內核級的root方案。KernelSU僅會把su檔案掛載到已授權的app的行程,su檔案對未授權的app不可見,所以這種方案的隱藏效果較好。KernelSU支援Magisk模組。

KernelSU的GKI模式和LKM模式僅支援GKI2.0的內核,對於非GKI的內核,需要下載內核原始碼、將KernelSU整合到原始碼樹中並自己編譯內核,低於4.14版本的內核需要手動移植KernelSU。

APatch

APatch是一個基於內核的root方案,由KernelPatch驅動,APatch支援KPM(內核模組)和APM(系統模組,類似Magisk模組),它的UI和APM模組的原始碼來源於KernelSU。

其他方式

MIUI開發版內建root。

爭議

手機廠商對root的態度

由於root並非官方支援的行為,手機廠商對進行過root的手機的保修政策目前存在爭議。亦有部分廠商明確稱為root後的手機提供免費維護,但通常僅限於重新安裝手機的系統,不包括數據保全、硬件保修等服務。

大多數手機廠商為避免使用者root或使用第三方系統,加入了分區保護機制,未解鎖bootloader的情況下無法進行root或刷機操作。

2017年9月,魅族宣布旗下各機型的Flyme系統將停用開放root功能,且以後不再開放[14]。但在2018年7月,魅族時任CEO黃章下令Flyme徹底開放root授權[15]

2019年2月,vivo宣布iQOO將開放bootloader解鎖權限和類原生ROM支援,然而時至今日這項承諾沒有任何進展。iQOO系列手機依然是無法解鎖bootloader,更妄談root之類的進階權限。

以往的小米手機使用者只需要刷入開發版MIUI即可獲得root管理權限,然而新發布的小米手機已不再開放開發版下載入口。使用者如需刷入開發版需在小米社區申請開發版內測。通過稽核之後才能獲得開發版下載連結。

Remove ads

root後受到的限制

為避免資安風險,以Google Pay與三星的Samsung Pay為首的內核級支付系統,不允許root過的手機執行,支付寶等第三方支付程式則一般不受此影響。[來源請求]

在解鎖root後華為內建支付保護中心不再對QQ或支付寶此類支付APP提供安全服務。[來源請求][何時?]

出於反作弊考量,許多網絡遊戲檢測到root後會拒絕啟動。

參見

參考資料

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads