热门问题
时间线
聊天
视角
Root (Android)
来自维基百科,自由的百科全书
Remove ads
Root是Android系统的一个术语,让用户可以获取Android系统的超级用户权限。Root能够帮助用户越过手机制造商的限制,得以卸载本身预装的程式,或执行需要系统权限的动作。[1]Android系统的root与苹果iOS系统的越狱类似。
![]() |
优点与缺点
- 访问和管理设备上的每个文件,包括普通用户不可见的文件,例如
/data
目录。用户可以备份和还原整个系统,或把用户数据复制到另一个已root的设备。 - 修改主题包,例如电池状态指示器样式、状态栏、虚拟导航键,甚至开机动画。
- 完全控制内核。在某些设备上,用户可以超频CPU或GPU。
- 完整的应用控制,包括备份还原和移除膨胀软件。
- 安装提供额外控制和管理root权限的应用,例如Xposed、Magisk、SuperSU、BusyBox
- 使用更多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权限。
曾经被广泛利用的系统漏洞之一是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是当前Android社区用来获取root权限的主流方式,其作为一套用于定制Android的开源工具,支持高于Android 6.0的设备。与传统的root方式不同的是,Magisk是systemless的,不会实际写入文件到/system分区。Magisk使用magic mount,将su文件和模块中的部分文件”映射”到/system分区上。
对于已解锁Bootloader的设备来说,主流的Magisk安装方式有两种,一为使用adb工具包中的fastboot命令刷入修补版boot启动镜像,二为刷入第三方recovery,通过第三方recovery安装Magisk,然此方法目前已被作者标记为弃用。
KernelSU是一个内核级的root方案。KernelSU仅会把su文件挂载到已授权的app的进程,su文件对未授权的app不可见,所以这种方案的隐藏效果较好。KernelSU支持Magisk模块。
KernelSU的GKI模式和LKM模式仅支持GKI2.0的内核,对于非GKI的内核,需要下载内核源代码、将KernelSU集成到源代码树中并自己编译内核,低于4.14版本的内核需要手动移植KernelSU。
APatch是一个基于内核的root方案,由KernelPatch驱动,APatch支持KPM(内核模块)和APM(系统模块,类似Magisk模块),它的UI和APM模块的源代码来源于KernelSU。
MIUI开发版自带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
为避免资安风险,以Google Pay与三星的Samsung Pay为首的内核级支付系统,不允许root过的手机执行,而支付宝等第三方支付程序则一般不受此影响。[来源请求]
参见
参考资料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads