Android 手机一键 Root 原理分析
图/文 非虫
一直以来,刷机与 Root 是 Android 手机爱好者最热衷的事情。即使国行手机的用户也不惜冒着失去保修的
风险对 Root 手机乐此不疲。就在前天晚上,一年一度的 Google I/O 大会拉开了帷幕,最新的 Android4.1 系统成
为了大会的热点,经过短短的几个小时后,网上就有人泄露了 Jelly Bean 的下载地址,再然后就有了 Android 4.1
带 Root 的完整刷机包,真是强大的人们!
Root 的由来
什么是 Root?Root 本身是指 Linux 系统的 root 帐户,该帐户拥有整个系统至高无上的权利,系统中的所有对
象它都可以操作,对于 Android 手机用户来说的 Root 是指拥有 Root 权限,一般情况下,手机厂商出于安全考虑
会关闭手机的 Root 权限,手机系统是运行在普通用户权限下的,用户是无法操作系统中的文件与数据的。
Root 与刷机本身是有很多关联的,而且随着刷机工具的便利与刷机原理的变化,两者的关系更加是模糊不
清了。不同厂商针对获取 Root 权限设置了不同的要塞。
首先从刷机说起,如 HTC 手机在刷机前需要保证 S-OFF,S-OFF 代表什么呢?S 代表 Security Lock 安全锁,
保护锁的意思,S-OFF 就是关掉锁保护。然后是 Motorola 的手机,这个厂商对于不同型号的手机设置是不同的,
很多 Motorola 型号的手机将 BootLoader 是锁住的,因此,在刷机前需要先解锁 BootLoader。还有中兴手机,这
厂商更是变态,一次次的版本升级只是为了锁住用户不让用户升级,也就导致了同一型号的手机由于版本不同有
的型号带 Recovery,有的又不带。三星的手机现在可以说是最好卖的,一方面是出色的硬件配置与外观,另一方
面是有众多的 Rom 包可以刷。三星的好几款手机是 Google 源码的测试样机,而且三星手机在出厂时对用户的限
制相比其它品牌是较少的,这也是广大 Android 开发者对它青睐有加的原因。
早先的 Android 手机要想获取 Root 权限可以有以下几种方式:
1. 使用本地提权漏洞利用工具来直接 Root,这是最原始最纯洁的方式。随着厂商对 Rom 的升级,这些内
核的漏洞随时都可能被修补,因此,这种 Root 方法在时间与空间上都有着很大的局限性。
2. 由于手机厂商对硬件的封闭,加上内核补丁修补很完全,这个时候获取 Root 权限就更难了,这个时候
刷机与 Root 就联合起来了,由于不能从系统内部通过 Exploits 来获取 Root 权限,只能通过修改 Rom
包来达到 Root 的目的,这也是目前很多第三方 Rom 包自带了 Root 的原因,然而手机厂商也不是吃
干饭的,手机厂商在 OTA 升级时使用 Recovery 对包签名进行验证来防止用户刷入修改过的包。对于
这种变态的厂商,只能通过 FastBoot 来线刷了,这里内容就不再展开了。
3. 当然,还有一部分厂商,为了吸引更多用户购买他们的手机,还是在手机中偷偷的留了后门的,比如不
锁 BootLoader,让用户刷第三方的 Recovery,又或是干脆留个以前的漏洞不补,让用户自己来 Exploits
等等。
Root 漏洞的历史
Root 漏洞不是与生俱来的,这是全世界优秀的计算机黑客不懈努力的成果。也许那个你在夜店喝酒的夜晚,
他们正寻找着系统的漏洞,一次次的测试,一次次的失败,最终在你醉得不省人事的时候,他们获取到了系统的
最高控制权。他们欢呼,他们嚎叫,他们是全天下是聪明的人!
也许你对他们的事迹不屑一顾,但我相信你对他们的研究成果是饶有兴趣的。下来由我来带领大家,看看这
一路走来,都出现过哪里牛人,他们又为我们带来了哪些惊喜。