小米新机型 ROOT 、隐藏 ROOT 的方法
0. 前言
对于小米较新的、拥有 A / B 分区机型来说(Mi11 之后),使用传统的第三方 Recovery 刷入 Magisk Root 的方法已经不适用。所以需要使用新的,修补启动镜像 Boot.img 的方法来获得 Root 权限。
1. 解锁 BootLoader
解锁 BootLoader,才能读写手机 System 分区,获取 ROOT 权限需要写入 System 分区,所以这是 ROOT 的前置步骤。因为小米官方提供了 MiLock 工具解锁 BootLoader,所以下载后按照软件提示操作即可。
需要注意的是:
- 由于官方限制,使用 MiLock 解锁前需要提前 7 天将小米账户与小米手机做绑定操作
- 解锁操作后,Data 分区会被格式化,所有用户数据会丢失,手机会重置,需要提前备份
操作步骤如下:
- 插入手机卡,使用流量
- 设置 -> 我的设备 -> 全部参数 -> 连点 6 次 MIUI 版本,提示成功打开开发者模式
- 设置 -> 更多设置 -> 开发者选项
- 打开 USB 调试和设备解锁状态,操作绑定账号和设备
- 重启手机,按住锁屏键和音量下键,进入 fastboot 模式
- 连接数据线,在 PC 端操作 MiLock 解锁
2. 使用刷机包刷机、提取 Boot.img
由于后面步骤需要用系统匹配的 Boot.img 打补丁,所以要保证刷机包提取的 Boot.img 版本与系统一致,建议使用刷机包刷机再提取里面的 Boot.img 备用,刷机过程不详述,但要注意,使用 MiFlash 刷机时,右下角选项选第一个,防止刷机后上锁 BootLoader。提取 Boot.img 的步骤:
- 解压压缩包,进入 images 目录
- 复制 boot.img 或 init_boot.img (如有,优先选择) 到手机存储中备用
3. 安装 Magisk 、修补 Boot.img 并刷入
Magisk 在 Github 上开源,在 Releases 页下载 apk 并安装。操作步骤:
- 打开 Magisk APP,点击安装,选择“选择并修补一个文件”,选择上一个步骤存储到手机的 boot.img
- 修补完成后,将文件复制到 PC 端
- 在 Miflash 工具中找到 fastboot.exe 文件
- 手机进入 fastboot 模式,连接数据线至 PC,运行 fastboot devices 命令检测连接状态
- 运行 fastboot flash boot xxx.img 或 fastboot flash init_boot xxx.img
- 刷入完成后重启,进入系统后打开 Magisk APP,查看 Root 状态并在设置菜单
4. 使用 Magisk 刷入 LSPosed
LSPosed 是一个 hook 框架,需要在 Magisk APP 中刷入,在 Releases 页下载 zip 。操作步骤:
- 打开 Magisk APP,选择模块选项卡,选择从本地安装,选择 zip 文件并刷入
- 在 Magisk 的设置中,启用 Zygisk 选项
5. 对 APP 隐藏 ROOT
某些 APP 会检测 ROOT 行为来禁止使用,如银行类、游戏 APP,因此有必要对 ROOT 环境进行隐藏。这里使用到 Shamiko ,操作步骤:
- 在 LSPosed APP 中刷入 Shamiko 的 zip 包
- 在 Magisk 设置中确保“遵守排除列表”选项关闭,在“配置排除列表”中勾选需要隐藏的 APP
- 在 Magisk 设置中“隐藏 Magisk 应用”
- 下载安装 Hide My Applist ,注意在 LSPosed 中的作用域中只勾选系统框架
- 启动 Hide My Applist,进入“模板管理”,点击“创建黑名单模板”,第一个编辑列表中勾选需要隐藏对系统、对其他 APP 有侵入性的 APP,如 Magisk ,xx助手等,保存
- 返回 Hide My Applist 主界面,进去“应用管理”,选择需要隐藏 ROOT 行为的 APP,启动“启动隐藏”,在“已启动 0 个模板”的选项中勾选上一步骤创建的模板