Root (Android)
一键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客户端工具有(不完全名单):
- SuperOneClick: 目前最著名的一键root工具。官方网站 http://shortfuse.org/?page_id=2
- 360一键root: 奇虎360公司推出的一键root工具。官方网站:http://shouji.360.cn/root/
- 安机网一键root: 官方网站:http://www.unlockroot.com/
出了在PC上运行的一键root客户端工具以外,也有直接在Android手机上运行的一键root工具,例如:
- z4root:发布于互联网论坛,无官方网站。最初发布的论坛地址:http://forum.xda-developers.com/showthread.php?t=833953
- Universal Androot: 发布于互联网论坛,无官方网站。最初发布的论坛地址:http://forum.xda-developers.com/showthread.php?t=747598
由于这些工具所依赖的root漏洞在目前主流的机型中已经被修补,因此只有极少数机型还可以使用上述工具获取root权限。
参考资料
- ^ 一键root Wikipedia英文页. Wikipedia. [2012-10-21].
- ^ root为什么不受官方支持. DroidLessons. 2011-02-15 [18-12-2011].
- ^ CVE-2011-3874: zergRush 漏洞的详细描述. National Cyber-Alert System. 2012-01-27 [21-10-2012].
- ^ CVE-2011-1823: Gingerbreak 漏洞的详细描述. National Cyber-Alert System. 2011-06-09 [21-10-2012].
- ^ CVE-2011-1149: psneuter 漏洞的详细描述. National Cyber-Alert System. 2011-04-21 [21-10-2012].
- ^ zergRush源代码. The Revolutionary development team. 2012-01-27 [21-10-2012].