小米骁龙8E5手机解锁BL + Root + 隐藏环境

今年早些时候,坊间一直在流传骁龙8E5的解锁漏洞(26年2月安全补丁修复),3月初有人发了POC hicode002/qualcomm_gbl_exploit_poc,但是这个漏洞需要在9008下利用,而小米并不开放9008,想利用就必须拆机刷字库。

直到3月8日,有人公开了小米骁龙8E5的漏洞利用脚本,任何SOC为骁龙8E5,且安全补丁版本在2026年2月(据传部分2月的也可以)之前的小米设备,都能一键解锁,小米3.8解锁节也由此拉开序幕。

这个脚本结合利用了小米和高通的多个漏洞:

  1. 通过Fastboot OEM命令注入androidboot.selinux=permissive,手机临时以SELinux宽容模式启动。
  2. 进入Android后,借助MIUI高权限原生服务miui.mqsas.IMQSNative,将解锁用的linuxloader_unlock.efi写入efisp分区。
  3. 重启到Bootloader,efisp中的GBL/EFI payload进入引导链执行流程。
  4. EFI payload定位QCOM_VERIFIEDBOOT_PROTOCOL,依次调用VBRwDeviceState(READ_CONFIG)VBRwDeviceState(WRITE_CONFIG),改写解锁相关字节后写回。

解锁Bootloader

解锁后会自动恢复出厂设置,所以开始解锁前请先:备份数据、退出小米和谷歌账号、删除指纹及锁屏密码。

开启USB调试:

  1. 进入设置 > 我的设备 > 连续点击 OS 版本 7次,开启开发者选项。
  2. 进入设置 > 更多设置 > 开发者选项,开启USB调试。

安装驱动

如果脚本能正常识别设备,这一节可以忽略。只有设备adb/fastboot无法识别的时候才需要安装:

  1. 下载ADB/Fastboot驱动并解压。
  2. 打开设备管理器,找到带感叹号的设备。
  3. 右键 > 更新驱动程序 > 浏览我的电脑以查找驱动程序,指定到解压后的驱动目录。

开始解锁

下载小米骁龙8E5一键解锁BL.zip,并解压。

叠甲: 此一键脚本为互联网社区上流传的版本,按照原样提供,未经过任何修改,使用者需自行承担责任。

双击运行小米骁龙8E5一键解锁BL.bat,按提示操作。

如果中途失败,手机还停在Fastboot界面的话,可以长按电源键10秒强制重启回系统。

看到以下输出说明解锁完成:

恭喜! 解锁成功

清空efisp分区...
重启并自动恢复出厂...

全部完成. 按任意键退出...

解锁成功的设备开机时,屏幕上方会出现一个打开的小锁图标。

此外,如果闪过一行小白字,则需要再清理efisp分区,在Fastboot中执行fastboot erase efisp即可。

刷入Magisk Alpha

Alpha面具现在在Telegram中分发,本站下载链接

目前KernelSU及其衍生物也非常流行,但是我比较怀旧,依然喜欢用稳定可靠的面具。实际上,只要Alpha面具配上ZygiskNext(新版已经有类似Shamiko的能力)、TrickyStore,就可以过掉绝大多数检测。

首先需要拿到原版init_boot,可以通过miuirom.org下载Fastboot ROM。注意:机型、地区、OS版本必须和当前系统一致。不匹配的ROM修补出来的镜像刷进去大概率卡开机。

例如我的手机是红米K90 Pro Max,OS版本是3.0.23.0.WPMCNXM,则对应下载页面是:

https://miuirom.org/load?o=redmi-k90-pro-max&v=3.0.23.0.WPMCNXM&l=en&t=Fastboot

修补init_boot

拿到ROM后解压,找到init_boot.img,复制到手机的Download目录。

在手机上安装Magisk Alpha,打开后操作:

  1. 点安装 > 选择并修补文件。
  2. 选中刚才复制过来的init_boot.img
  3. 等修补完成。

修补后的文件默认路径,随机串每次是变化的:

/sdcard/Download/magisk_patched_[随机串].img

刷入修补镜像

把修补后的镜像拉回电脑:

adb pull /sdcard/Download/magisk_patched_[随机串].img ./magisk_patched.img

确认文件存在后,刷入:

adb reboot bootloader
fastboot flash init_boot magisk_patched.img
fastboot reboot
Code language: CSS (css)

重启后打开Magisk Alpha,首页显示已安装且版本号正常,Root就拿到了,可以先在设置中隐藏 Magisk 应用,避免被直接检测到包名。

安装常用模块

刷入面具后,可以按 Zygisk Next → Tricky Store → Tricky-Addon-Update-Target-List 的顺序安装。推荐在官方GitHub的Release页面下载,如果网络不通,也可以使用本站的下载链接,但不能保证版本是最新的。

Zygisk Next

GitHub:https://github.com/Dr-TSNG/ZygiskNext本站下载链接

独立的Zygisk API载入器,给LSPosed、Tricky Store这类模块提供注入环境,用来替代Magisk内建Zygisk,新版还集成了类似Shamiko的能力,不需要再单独装Shamiko。

安装后,在面具的设置页面中开启遵守排除列表,然后配置排除列表,里面勾选上想隐藏环境的应用即可。

Tricky Store

GitHub:https://github.com/5ec1cff/TrickyStore本站下载链接

修改Android Key Attestation证书链的模块,用来应对应用对设备完整性的校验。只需要DEVICE级别完整性的话,装完重启就可以了;需要更高级别(三绿),则需要配置未吊销的keybox。

此外,Tricky Store需要在/data/adb/tricky_store/target.txt中手动配置生效的应用包名,默认只会配置GMS。

Tricky-Addon-Update-Target-List

GitHub:https://github.com/KOWX712/Tricky-Addon-Update-Target-List本站下载链接

TrickyStore配套的增强模块,附带WebUI管理器,用来图形化配置target.txt。除了勾选目标应用,还能管理security patch、verifiedBootHash、keybox等配置,也支持直接导入自定义keybox。

使用方法:

  1. 确保Tricky Store已装好,安装Addon模块并重启。
  2. 重启后点Tricky Store模块的Action按钮进入WebUI。缺少运行环境时会自动安装KSUWebUIStandalone。
  3. 在WebUI里勾选要加入target.txt的应用。
  4. 点击右上角的三个点,然后点击密钥,再点击有效,这样就可以拉到最新有效的keybox。要注意,keybox随时可能被吊销,当被吊销时,就需要再重复一次此步骤。
  5. 此外,还可以去Yuri的仓库获取新的keybox:https://github.com/Yurii0307/yurikey/blob/main/key ,这是base64编码的,解码后按自定义导入即可。

后续维护

  • 保Root更新系统:一定用完整包更新,不要用增量包。安装完成后不要重启,先进Magisk > 安装 > 安装到未使用的槽位(OTA后),等装完再回到更新页面重启。
  • 重新锁回Bootloader:用MiFlash刷对应机型版本的Fastboot线刷包,同样可以在miuirom.org下载,底部选项选全部删除并lock。

Azure99

底层码农,休闲音游玩家,偶尔写写代码

看看这些?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注