Android中的Root和iOS的越狱相似。
Root定义:
Android底层是Linux。而Root就是获取Android操作系统的超级用户权限,通常帮助用户越过手机制造商的限制。
使得用户可以卸载手机制造商预装在手机中的某些应用【这里就是指捆绑应用】以及运行一些需要超级用户权限的应用程序。
Android获取Root和Linux获取Root差不多【不过由于现在Android的升级迭代,现在获取Root一般都gg】
Android和Linux获取Root的区别:Linux默认给我们Root用户,Android默认不给。
Root的原理:把SU复制到/system分区,然后把它的所有者设置为Root并设置权限为默认可执行。
大致步骤:
- 复制SU到System分区,cp /data/tmp/su/system/bin/
- 设置所有者为Root ----> chown root:root su
- 设置可执行 -----> chmod 4775 /system/bin/su # 把su置为-rwsr-xr-x
概念科普:
1.SU:
SU是一个2进制的可执行文件,用于与SuperSU(类似软件)协作来提供权限管理的功能。【难点:如何复制、设置权限】
/System分区默认是不可写的,对它的操作首先要获取Root权限,这样就造成了死循环。
即:要通过常规方式获取Root权限,必须要先有一个Root权限。
所以不能用常规方法。
以前主流的Root的APP利用的是早期Android存在的漏洞来提权,经过上面说的步骤可以获得。但是Android的更新能利用和发现的漏洞减少许多,导致大多Root App纷纷倒闭.目前的一键Root软件基本对Android 6.0+系统没办法。MIUI等直接给你把root写系统进去了。
2. Root后可以做什么?
Android是一个沙盒。Root相当于获取了手机的最高权限,对于国内机型的定制ROM,可以删除系统中预装的无用软件和功能。
还可以:
- 修改主体
- 更新UI
- 使用Xposed框架来安装各种模块
- 一些辅助类的应用也需要Root权限来运行
如今如何Root:
Root变难了。但是还是想Root:
大概流程:
- 手机如果带BL(BootLoader)锁需要用厂商给的解锁工具解锁(不是所有手机都能解锁BL,也不是所有手机都有BL锁)
- 然后刷入第三方的Recovery
- 去下载Super SU或者面具的卡刷包,刷入即可获取完整Root