| 本條目存在以下問題,請協助 改善本條目或在 討論頁針對議題發表看法。
| 此條目需要更新。 (2022年12月30日) 請更新本文以反映近況和新增内容。完成修改後請移除本模板。 |
| 此條目 包含指南或教學內容。 (2024年9月17日) 請藉由移除或重寫指南段落來改善條目,或在討論頁提出討論。 |
|
Root是Android系统的一个术语,它使得用户可以获取Android操作系统的超级用户权限。Root能夠帮助用户越过手机制造商的限制,得以卸载本身预装的程式,或執行需要系統權限的動作。Android系统的Root與苹果iOS系统的越狱类似。
原理
多數的手機制造商不支持獲取Root權限[1]。因此,大多数获取Root的方法都是使用特定工具借助系统漏洞或官方后门实现的。不同手机厂商、系统和版本可能存在的漏洞不同,因此不同手机的Root原理、方法、难度都可能不同。Root需将su可执行文件复制到Android系统的/system分区下(例如:/system/xbin/su
)并用chmod命令为其设置可执行权限和setuid权限。为了讓用户可以控制Root权限的使用,防止手机上的任意应用程序直接获得Root权限,用户通常还會將Root管理程序复制(安装)到/system/app,用以管理su程序的使用。
常见获取方法
曾经被广泛利用的系统漏洞之一是zergRush,该漏洞适用于Android 2.2-2.3.6系统[2],因而适用于很多Android系统手机。其他漏洞还有Gingerbreak[3]、psneuter[4]等等。一些“一键root”类工具(例如:Kingroot)正是利用这些Android系统漏洞来获取root权限。不过,这类方法随着Android版本更新,漏洞封堵导致无法使用。
Magisk是当前Android社区用来获取root权限的主流方式,其作为一套用于定制Android的开源工具,支持高于Android4.2的设备。同时,Magisk特殊的运作机制还赋予了它systemless的特质。systemless让Magisk在不修改/system以及/vendor的情況下,可以有针对性地隐藏root,亦可暂时隐藏Magisk本身。
其他的root方式还有KernelSU,支持修补init_boot或修改boot实现root(在GitHub上有官方提供的boot镜像,可使用fastboot刷入或recovery刷入)。此root方式与Magisk不同,且使用此方式root后隐藏的效果比Magisk更好。
工具
曾经广泛利用的zergRush漏洞必须在adb shell下运行[5],而adb shell只能将手机用USB数据线与PC连接之后才能開啟,因此常用的Root工具都是PC程式,透過Android系统的adb shell运行漏洞利用程序。亦有部分工具能直接在Android设备上运行。
部分用戶已開發Android设备上直接运行的Root工具。通常只对部分系统或机型适用,部分用户會無法成功Root或效果不佳。程式通常簡易操作,不需親自執行,但同時也帶來強制安裝授權管理軟體,並間接剝奪授權自由等問題。
在Android 6.0以前,絕大部分Android的平台设备可以使用SuperSU,但SuperSU并不作为Root[2]工具使用而是一个Root后设备的权限管理程序,用于管理Root后设备应用程序的权限问题。由于Android应用程序在获得Root权限后可以完全控制手机,一般推荐用户对于应用程序的权限请求仔细甄别。
所有高于Android 6.0的设备理论上都可以使用Magisk进行获取root权限,主流的Magisk安装方式有两种,一为使用adb工具包中的fastboot命令对Bootloader已解锁设备刷入修补版boot启动镜像,二为解锁Bootloader的设备并刷入第三方 Recovery,通过第三方Recovery对magisk进行安装,然此方法目前已被作者標記為棄用。
在支援GKI 2.0內核的Android設备可使用Kernel SU[6]獲取root權限(內核 5.10後),在5.10前的內核(版本4.14+)可透過自行編譯內核使用,KernelSU可以與Magisk相同的方法安裝,也可以透過fastboot及Kernel flasher等方式直接刷入內核安裝。
争议
由于Root并非官方支持的行为,手机厂商对进行过Root的手机的保修政策目前存在争议。亦有部分厂商明确称为Root后的手机提供免费维护,但通常仅限于重装手机的系统,不包括数据保全、硬件保修等服务。
大多数手机厂商为避免用户Root或使用第三方系统,加入了分区保护机制,未解锁(BootLoader)的情况下无法进行Root或刷机操作。
為避免資安風險,以Google Pay与三星的Samsung Pay为首的内核级支付系统,不允許Root過的手機執行,而支付宝等第三方支付程序则一般不受此影响。[來源請求]
在解锁Root后华为自带支付保护中心不再对QQ或支付宝此类支付APP提供安全服务。[來源請求][何时?]
2017年9月,魅族宣布旗下各机型的Flyme系统将停用开放Root功能,且以后不再开放[7]。但在2018年7月,魅族时任CEO黄章下令Flyme彻底开放Root授权[8]。
2019年2月,vivo宣布iQOO将开放Bootloader解锁权限和类原生ROM支持,然而时至今日这项承诺没有任何进展。iQOO系列手机依然是无法解锁Bootloader,更妄谈Root之类的高级权限。
以往的小米手机用户只需要刷入开发版MIUI即可获得Root管理权限,然而新发布的小米手机已不再开放开发版下载入口。用户如需刷入开发版需在小米社区申请开发版内测。通过审核之后才能获得开发版下载链接。
参见
参考资料
[1]
- ^ 百度百科-Magisk. baike.baidu.com. [2023-07-31]. (原始内容存档于2023-07-31).