# Xiaomi HyperOS BootLoader Bypass ![Version: 1.0](https://img.shields.io/badge/Version-1.0-brightgreen?style=for-the-badge) [![English](https://img.shields.io/badge/English-brightgreen?style=for-the-badge)](README.md) [![日本語](https://img.shields.io/badge/日本語-brightgreen?style=for-the-badge)](README-ja.md) 利用漏洞绕过小米 HyperOS 对 BootLoader 解锁账户绑定限制社区等级的 PoC。 您可随时向本项目提出改进方案 :) ## 💘 php-adb 本项目使用了 [php-adb](https://github.com/MlgmXyysd/php-adb) 运行库。 ## ☕ 支持开发 ✨ 如果您喜欢我的项目,可以请我喝咖啡: - [爱发电](https://afdian.net/@MlgmXyysd) - [PayPal](https://paypal.me/MlgmXyysd) - [Patreon](https://www.patreon.com/MlgmXyysd) ## ⚠️ 警告 解锁 BootLoader 后,你可能会遇到以下情况: - 软件或硬件无法正常工作,甚至永久性损坏。 - 设备中存储的数据丢失。 - 信用卡被盗刷,或遭受其他经济损失。 如果您遇到上述任何情况,您应该自己承担所有责任,因为这是您在解锁 BootLoader 时可能遇到的风险。这显然不能涵盖所有风险。我们已经警告过您了。 - 保修丢失。根据小米提供的免责条款,这不仅是基础三包,您购买的一些额外延保(如 Mi Care 或碎屏险)也可能会丢失。 - 像 Samsung Knox 那样的硬件级熔断。TEE 相关功能将永久损坏。除更换主板外,无法恢复。 - 刷入第三方系统后出现功能异常,这可能是因为内核源代码闭源引起。 - 设备或账号因为解锁 BootLoader 被小米封禁。 如果您遇到上述任何情况,请您自认倒霉。自从小米限制解锁 BootLoader 后,小米就一直在违背"极客"精神,甚至违背了 GPL。小米对 BootLoader 解锁的限制是无穷尽的,作为开发者,我们对此无能为力。 ## 📲 前置要求 - 一个有效的设备: - 一个未被封禁\*的小米、红米或 POCO 设备。 - 设备正在运行官方版 HyperOS。 - (2023/11/23 更新) 您的设备不会被小米强制验证账户资格。 - 一个有效的 SIM 卡: - \* 无法使用 SIM 卡的平板电脑除外。 - SIM 卡不得处于停机或无服务状态。 - SIM 卡需要能够连接到互联网。 - 每张有效 SIM 卡在三个月内只能解锁 2 台设备。 - 一个有效的小米账号: - 一个未被封禁\*的小米账号。 - 每个账号一个月只能解锁一部手机,一年只能解锁三部手机。 - 您已阅读并理解上述 [警告](#%EF%B8%8F-警告)。 - \* 根据小米提供的解锁说明,某些账号和设备将被禁止使用解锁工具,这被称为"风控"。 ## ⚙️ 使用教程 1. 从 [官方网站](https://www.php.net/downloads) 下载并安装适用于您操作系统的 PHP 8.0+。 2. 在 `php.ini` 中启用 OpenSSL 和 Curl 扩展。 3. 将 [php-adb](https://github.com/MlgmXyysd/php-adb) 中的 `adb.php` 放到目录中。 4. 下载 [platform-tools](https://developer.android.com/studio/releases/platform-tools),并将其放入 `libraries`。*注意:Mac OS 需要将 `adb` 重命名为 `adb-darwin`。 5. 打开终端,使用 PHP 解释器执行 [脚本](../bypass.php)。 - p.s. Releases 已将所需文件和一键脚本打包。 6. 多次点击`设置 - 关于手机 - MIUI 版本`启用`开发者选项`。 7. 在`设置 - 附加设置 - 开发者选项`中启用`OEM 解锁`、`USB 调试`和`USB 调试(安全设置)`。 8. 登录一个_有效_\*的小米账号。 9. 通过有线方式将设备连接到电脑。 10. 选中`始终允许来自此计算机的调试`,然后单击`确定`。 - \* 请参阅上文的 "[前置要求](#-前置要求)"。 11. 等待并按脚本提示操作。 12. 绑定成功后,您可以使用 [官方解锁工具](https://www.miui.com/unlock/index.html) 查看需要等待的时间。 13. 在等待期间,请正常使用设备,保持 SIM 卡插入,不要登出小米账号或关闭"查找我的手机",不要重新绑定设备,直到成功解锁。设备将每隔一段时间自动向服务器发送 `HeartBeat` 数据包。 ## 📖 漏洞分析 - 维修中... ## 🔖 FAQ - Q: 为什么解锁工具仍然提醒我等待 168/360(或更长)小时? - A: 根据原理,该 PoC 只绕过了小米为 HyperOS 额外添加的限制。您仍然需要遵循 MIUI 的限制。 - Q: 设备显示 "验证失败,请稍后再试"。 - A: 这是正常现象,设备端的绑定请求已被脚本拦截。实际绑定结果以脚本提示为准。 - Q: 绑定失败,错误代码为 `401`。 - A: 您的小米账号凭据已过期,您需要在设备中登出账号并重新登录。 - Q: 绑定失败,错误代码为 `20086`。 - A: 您的设备凭据已过期,您可能需要重新启动设备。 - Q: 绑定失败,错误代码为 `20090` 或 `20091`。 - A: 设备的 `Security Device Credential Manager` 功能已损坏,请联系售后服务寻求支持。 - Q: 绑定失败,错误代码为 `30001`。 - A: 您的设备已被小米强制验证账户资格。小米早就抛弃了"极客"精神,我们对此无能为力。 - Q: 绑定失败,错误代码为 `86015`。 - A: 服务器拒绝了本次绑定请求,请重试。 ## ⚖️ 协议 无许可证,您只被允许使用本项目。未经许可,不得删除或更改本软件的所有版权(以及链接等)。本项目所有权利归 [MeowCat Studio](https://github.com/MeowCat-Studio)、[Meow Mobile](https://github.com/Meow-Mobile) 和 [NekoYuzu](https://github.com/MlgmXyysd) 所有。