跳转到内容

Root (Android)

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

这是本页的一个历史版本,由Quaful留言 | 贡献2012年10月21日 (日) 11:18 (新条目)编辑。这可能和当前版本存在着巨大的差异。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)

一键root通常是针对Android系统的手机而言,它使得用户可以获取Android操作系统超级用户权限。一键root通常用于帮助用户越过手机制造商的限制,使得用户可以卸载手机制造商预装在手机中某些应用,以及运行一些需要超级用户权限的应用程序。Android系统的一键root与Apple iOS系统的越狱类似[1]

一键root的原理

手机制造商原始出厂的手机并未开放root权限,获取root的方法都是不受官方支持的[2],因此,目前获取root的方法都是利用系统漏洞实现的。而不同手机厂商可能存在的漏洞不同,也就导致了不同手机一键root的原理可能不同。不过,不管采用什么原理实现一键root,最终都需要将su可执行文件复制到Android系统的/system分区下(例如:/system/xbin/su) 并用chmod命令为其设置可执行权限和setuid权限。为了让用户可以控制root权限的使用,防止其被未经授权的应用所调用,通常还有一个Android应用程序来管理su程序的行为。一键root的基本原理就是利用系统漏洞,将su和对应的Android管理应用复制到/system分区。

目前最广泛利用的系统漏洞是zergRush,该漏洞适用于Android 2.2-2.3.6的系统[3],因而可以适用于目前过半的Android系统手机。其它的漏洞还有Gingerbreak[4], psneuter[5]等等。

常用一键root工具

由于目前最广泛利用的zergRush漏洞必须在adb shell下运行[6],而adb shell只能将手机用USB数据线与PC连接之后才能在PC上打开,因此,目前常用的一键root工具都是PC客户端程序,通过Android系统的adb shell运行漏洞利用程序。常见的一键root客户端工具有(不完全名单):

出了在PC上运行的一键root客户端工具以外,也有直接在Android手机上运行的一键root工具,例如:

由于这些工具所依赖的root漏洞在目前主流的机型中已经被修补,因此只有极少数机型还可以使用上述工具获取root权限。

参考资料

  1. ^ 一键root Wikipedia英文页. Wikipedia. [2012-10-21]. 
  2. ^ root为什么不受官方支持. DroidLessons. 2011-02-15 [18-12-2011]. 
  3. ^ CVE-2011-3874: zergRush 漏洞的详细描述. National Cyber-Alert System. 2012-01-27 [21-10-2012]. 
  4. ^ CVE-2011-1823: Gingerbreak 漏洞的详细描述. National Cyber-Alert System. 2011-06-09 [21-10-2012]. 
  5. ^ CVE-2011-1149: psneuter 漏洞的详细描述. National Cyber-Alert System. 2011-04-21 [21-10-2012]. 
  6. ^ zergRush源代码. The Revolutionary development team. 2012-01-27 [21-10-2012].