Android 介绍
2026年5月4日大约 2 分钟
ROOT
能做什么:个性化、自由度
- 卸载手机厂商预装软件、屏蔽广告
- 修改状态栏图标、换字体
- 用Xposed框架修改用户行为
- 运行外挂程序
- 刷入第三方定制ROM
获取安卓系统ROOT权限流程:
- 解锁Bootloader(引导加载程序,手机通电后启动的第一个程序,负责初始化硬件、加载操作系统)。
- 背景:目前,手机厂商会给Bootloader加一把锁(BL锁),让Bootloader只认官方签名的系统镜像且拒绝任何第三方修改。安装非官方固件就要找手机厂商解开BL锁。
- 刷入第三方Recovery(一个独立的小型系统,可以在主系统之外运行,用来备份数据、刷入补丁包)。
- 背景:官方的Recovery功能有限且只能刷入经过厂商认证的更新包,所以需要刷入第三方Recovery后才能刷入非官方的ZIP包
- 最常见的Recovery是TWRP
- 获取ROOT权限
- 往系统里植入su(Switch User)二进制文件和一个root权限管理工具
- 历史:
- 早期的工具叫SuperSU
- 目前主流Magisk
- 这个工具高明的地方是:不直接修改system分区(因为自Android6起,system分区被设为只读,且受到AVB启动验证机制保护),而是把su和守护进程注入到boot镜像的ramdisk中。然后,在系统启动阶段,SELinux还没完全加载之前,Magisk劫持关键系统调用,建立一个不受官方安全策略约束的root环境。
安卓内核ROOT之后的安全措施:
- SELinux —— 强制访问控制(MAC)。内核预制的安全规则,会阻止你访问某些关键文件或执行某些操作。作为ROOT用户当然可以改这些预设配置,早期安卓ROOT就是为了修改或关闭SELinux。但对不瞎改的用户,SELinux能起到很好的防呆作用。
- 启动验证机制(Android Verified Boot Security Layer) —— 确保每个启动阶段的分区镜像都经过签名验证。如果system分区被篡改过,设备要么拒绝启动,要么在启动时弹出告警。(这也是为什么magisk选择不碰system分区的原因)
- 权限声明机制(Permission Declaration)
- 应用沙箱(App Sandboxing)
- Binder进程间通信校验(IPC Verification)