本工具用于小米新品免答题解锁 Bootloader (BL),适用于满足以下条件的设备:
⚠️ 重要提醒:谷歌已在 2025 年 2 月安全补丁中修复了本工具所依赖的漏洞,后续系统版本可能无法使用,请确认设备未升级至该补丁及以上版本后再操作。
请在目录中使用 Shift + 右键 选择“在此处打开 PowerShell 窗口”后再执行以下命令。
# 1. 列出adb设备
.\adb.exe devices
# 2. 重启设备到 Fastboot 模式
.\adb.exe reboot bootloader
# 1. 等待设备进入 Fastboot 模式
.\fastboot.exe devices
# 2. 检查设备是否已解锁
.\fastboot.exe getvar unlocked
# 3. 通过 OEM 命令设置启动参数,将 SELinux 设置为宽容模式(permissive)
# 这是绕过 SELinux 限制的关键步骤
.\fastboot.exe oem set-gpu-preemption-value 0 androidboot.selinux=permissive
# 4. 继续启动到 Android 系统
.\fastboot.exe continue
**注意请不要使用 .\fastboot.exe reboot**
# 1. 等待设备重启回 Android 系统
.\adb.exe devices
# 2. 将解锁程序上传到设备临时目录
.\adb.exe push linuxloader_unlock.efi /data/local/tmp/linuxloader_unlock.efi
# 3. 调用 MIUI 系统服务 miui.mqsas.IMQSNative 执行 dd 命令
# 利用该服务的命令注入漏洞,将解锁程序写入 efisp 分区
# 参数说明:
# 21 - 服务方法 ID
# i32 1 - 整数参数
# s16 "dd" - 要执行的命令
# s16 'if=/data/local/tmp/linuxloader_unlock.efi of=/dev/block/by-name/efisp' - dd 命令参数
# s16 '/data/mqsas/log.txt' - 日志文件路径
# i32 60 - 超时时间 60 秒
.\adb.exe shell service call miui.mqsas.IMQSNative 21 i32 1 s16 "dd" i32 1 s16 'if=/data/local/tmp/linuxloader_unlock.efi of=/dev/block/by-name/efisp' s16 '/data/mqsas/log.txt' i32 60
# 4. 重启设备到 Fastboot 模式
.\adb.exe reboot bootloader
# 1. 等待设备进入 Fastboot 模式
.\fastboot.exe devices
# 2. 获取解锁状态
.\fastboot.exe getvar unlocked
# 3. 清空 efisp 分区(写入空白镜像)
.\fastboot.exe flash efisp efisp_blank.img
# 4. 刷入 misc 分区镜像,触发恢复出厂设置
.\fastboot.exe flash misc misc_wipedata_mi.img
# 5. 重启设备
.\fastboot.exe reboot
linuxloader_unlock.efi、efisp_blank.img、misc_wipedata_mi.img 文件在当前目录