热门问题
时间线
聊天
视角

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