lildebil0/revvl7pro-bootloader-research
GitHub: lildebil0/revvl7pro-bootloader-research
对 T-Mobile REVVL 7 Pro 5G (SM6450) 的 bootloader 运营商锁定机制进行静态逆向工程,提取了 RSA-2048 公钥、重建了三阶段认证流程并完整记录了锁定架构。
Stars: 0 | Forks: 0
# REVVL 7 Pro 5G — 引导加载器锁定研究
### T-Mobile 运营商引导加载器锁定在 Qualcomm SM6450 (Wingtech Pinehurst) 上的静态逆向工程
## 🇷🇺 俄语
### 📋 关于本仓库
本仓库记录了 **T-Mobile REVVL 7 Pro 5G(型号 `TMRV07P5G`,代号 `Pinehurst`)上运营商锁定机制的完整逆向工程**。该设备基于 Qualcomm Snapdragon 6 Gen 1 (SM6450),ODM 为 Wingtech,运行 Android 14/16。
目标是 **为未来的研究者记录锁定架构**,而不发布可用的利用代码。
### 🔑 关键发现
| 发现 | 详情 |
|------|------|
| ABL 格式 | ELF32 ARM 封装 (QC MBN) → UEFI FV → AARCH64 PE32+ `LinuxLoader.efi` (924 KB) |
| 构建来源 | `TMO_S88823AA1` Jenkins 构建 + CAF EDK2 `QcomModulePkg` (公开源码) |
| `flashing unlock` 命令 | 被 T-Mobile/Wingtech **物理移除** 自调度表 |
| 替代方案 | 3 阶段签名认证: `oem auth_start` → 主机签名 → `oem permission 🌐 语言 / 语言
handler 0x57f1c
hardcodes EDL pubkey 0xcb43c] -->|generates nonce internally| AS[nonce stored, not exposed] AF[oem factory_auth_start
handler 0x584e0
hardcodes NEW pubkey 0xcb7ae] -->|trampoline to auth_start body| AS PE[oem permission
handler 0x584f4
consumes stage buffer] PE -->|mode= auth| EM[strcmp lookup table] PE -->|mode= factory| EM EM -->|match auth| EV[bl 0x58d88
RSA-2048 verify
AUTH pubkey 0xcb562] EM -->|match factory| FV[bl 0x58d88
RSA-2048 verify
FACTORY pubkey 0xcb688] EM -->|no match| WM[wrong mode arg!] EV -->|OK| H[Set IsAllowUnlock
DevInfo write via
OEM Lock vtable protocol
EFI_GUID C0DD69AC-...] FV -->|OK| H EV -->|FAIL| KW[decrypt failed, key's wrong] FV -->|FAIL| KW H -->|+FRP bit-0 set| FU[flashing unlock
writes UNLOCKED descriptor
to devinfo partition] ``` 参见 [docs/en/lock-architecture.md](docs/en/lock-architecture.md) 了解完整架构图,包括启动链 (PBL → XBL → ABL → libavb → kernel) 和锁定状态机。 ### 🎯 现实结论 **没有 T-Mobile 的 RSA-2048 私钥或加密实现中的缺陷——仅靠软件解锁不可行。** 三个独立的加密门控 + FRP 位门控 + AVB 链。 本仓库是 **未来研究的完整攻击面地图**,而非可工作的解锁方案。 ### 📦 仓库结构 ``` . ├── docs/ │ ├── ru/ — Документация на русском (Track A-E) │ └── en/ — English docs + V016 baseline (2026-05-24) │ ├── lock-architecture.md — Full arch map │ ├── key-lifecycle.md — HSM-to-device key chain │ ├── v016-deep-dive.md — V016 ABL findings │ └── research-notes/ — Research path notes ├── pubkeys/ — 4 extracted RSA-2048 pubkeys (DER+PEM+info) │ EDL / AUTH / FACTORY (Track A) + NEW (V016) ├── scripts/ — Ghidra Java скрипты + Python analysis tools │ (revvl_abl_verifier.py, revvl_fv_extract.py) ├── data/ — Dispatcher table, state machine, snippets ├── reproduce/ — Step-by-step extraction + read-only probe scripts ├── LICENSE — MIT └── DISCLAIMER.md — Юридический disclaimer ``` ### ⚖️ 许可证 [MIT](LICENSE)。仅限静态研究,基于美国法典第 17 篇第 1201(f) 条 (为互操作性进行逆向工程) 及类似的俄罗斯/国际法规。 ## 🇬🇧 英语 ### 📋 关于本仓库 本仓库记录了 **T-Mobile REVVL 7 Pro 5G(型号 `TMRV07P5G`,代号 `Pinehurst`)上运营商锁定机制的完整逆向工程**。该设备基于 Qualcomm Snapdragon 6 Gen 1 (SM6450),ODM 为 Wingtech,运行 Android 14/16。 目标是 **为未来的研究者记录锁定架构**,而不发布可用的利用代码。 ### 🔑 关键发现 | 发现 | 详情 | |------|------| | ABL 格式 | ELF32 ARM 封装 (QC MBN) → UEFI FV → AARCH64 PE32+ `LinuxLoader.efi` (924 KB) | | 构建来源 | `TMO_S88823AA1` Jenkins 构建 + CAF EDK2 `QcomModulePkg` (公开源码) | | `flashing unlock` 命令 | 被 T-Mobile/Wingtech **物理移除** 自调度表 | | 替代方案 | 3 阶段签名认证: `oem auth_start` → 主机签名 → `oem permission
handler 0x57f1c
hardcodes EDL pubkey 0xcb43c] -->|generates nonce internally| AS[nonce stored, not exposed] AF[oem factory_auth_start
handler 0x584e0
hardcodes NEW pubkey 0xcb7ae] -->|trampoline to auth_start body| AS PE[oem permission
handler 0x584f4
consumes stage buffer] PE -->|mode= auth| EM[strcmp lookup table] PE -->|mode= factory| EM EM -->|match auth| EV[bl 0x58d88
RSA-2048 verify
AUTH pubkey 0xcb562] EM -->|match factory| FV[bl 0x58d88
RSA-2048 verify
FACTORY pubkey 0xcb688] EM -->|no match| WM[wrong mode arg!] EV -->|OK| H[Set IsAllowUnlock
DevInfo write via
OEM Lock vtable protocol
EFI_GUID C0DD69AC-...] FV -->|OK| H EV -->|FAIL| KW[decrypt failed, key's wrong] FV -->|FAIL| KW H -->|+FRP bit-0 set| FU[flashing unlock
writes UNLOCKED descriptor
to devinfo partition] ``` 参见 [docs/en/lock-architecture.md](docs/en/lock-architecture.md) 了解完整架构图,包括启动链 (PBL → XBL → ABL → libavb → kernel) 和锁定状态机。 ### 🎯 现实结论 **没有 T-Mobile 的 RSA-2048 私钥或加密实现中的缺陷——仅靠软件解锁不可行。** 三个独立的加密门控 + FRP 位门控 + AVB 链。 本仓库是 **未来研究的完整攻击面地图**,而非可工作的解锁方案。 ### 📦 仓库结构 ``` . ├── docs/ │ ├── ru/ — Russian documentation (Tracks A-E) │ └── en/ — English docs + V016 baseline (2026-05-24) │ ├── lock-architecture.md — Full arch map │ ├── key-lifecycle.md — HSM-to-device key chain │ ├── v016-deep-dive.md — V016 ABL findings │ └── research-notes/ — Research path notes ├── pubkeys/ — 4 extracted RSA-2048 pubkeys (DER+PEM+info) │ EDL / AUTH / FACTORY (Track A) + NEW (V016) ├── scripts/ — Ghidra Java scripts + Python analysis tools │ (revvl_abl_verifier.py, revvl_fv_extract.py) ├── data/ — Dispatcher table, state machine, snippets ├── reproduce/ — Step-by-step extraction + read-only probe scripts ├── LICENSE — MIT └── DISCLAIMER.md — Legal disclaimer ``` ### ⚖️ 许可证 [MIT](LICENSE)。仅限静态研究,基于美国法典第 17 篇第 1201(f) 条 (为互操作性进行逆向工程) 及类似的国际法规。
标签:AARCH64, Android, bootloader lock, carrier-lock, DSL, EDK2, MBN格式, PE32+, Pinehurst, Qualcomm SM6450, RSA-2048, Snapdragon 6 Gen 1, T-Mobile REVVL 7 Pro 5G, UEFI, Wingtech, 云安全监控, 云资产清单, 域名枚举, 引导加载器, 目录枚举, 移动安全, 认证流程, 调度表, 运营商锁, 逆向工具, 逆向工程, 静态分析