Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
zte-blade-v40-vita-unlock — 通过 CVE-2022-38694 解锁 ZTE Blade V40 Vita(P606F02 / Unisoc UMS9230 / UFS)引导加载程序 - Linux 脚本、FBE 解锁后卡死修复,以及无人记录的两个陷阱 | Kitploit
工具/GitHubGitHub/redzrush101/zte-blade-v40-vita-unlock
Android安全嵌入式系统安全漏洞利用移动应用渗透测试逆向工程移动安全实用工具与框架硬件与物联网安全固件分析

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubredzrush101/zte-blade-v40-vita-unlock

zte-blade-v40-vita-unlock

通过 CVE-2022-38694 解锁 ZTE Blade V40 Vita(P606F02 / Unisoc UMS9230 / UFS)引导加载程序 - Linux 脚本、FBE 解锁后卡死修复,以及无人记录的两个陷阱

查看仓库
681个月前尚未审核

ZTE Blade V40 Vita bootloader 解锁 — P606F02 / Unisoc UMS9230 / UFS

使用 CVE-2022-38694 进行解锁的 Linux 笔记和脚本。在我的 EEA_P606F02 上完成,运行 MyOS11.0.13_8045_EEA。

有两件事决定这是否可行,而这两件事都没有被记录在任何地方:

  1. 刷写时绝不要按住 POWER。 按住 POWER 约 10 秒 = PMIC 硬复位 = USB 连接在上传中途断开(SEND fdl2-dl.bin → connection closed)。只按住 VOL_UP + VOL_DOWN。如果需要复位,轻按一次 POWER。
  2. 解锁后手机卡在 MyOS 标志上,而通常的 misc 擦除 BCB 不起作用 — 此 bootloader 会忽略它。改为通过 BROM 擦除 userdata + metadata。

设备

型号ZTE Blade V40 Vita — ZTE 8045 / EEA_P606F02
SoC / 存储Unisoc UMS9230 / UFS
包ums9230_universal_unlock_UFS。UFS 的 fdl2-*.bin 为 934088 字节;eMMC 的约为 1 MB。错误的 loader 可能会清空手机
操作系统 / 分区Android 11, MyOS11.0.13 · 分区 _b

构建工具

git clone --recursive https://github.com/TomKing062/CVE-2022-38694_unlock_bootloader
cd CVE-2022-38694_unlock_bootloader
gcc chsize.c -o chsize
gcc gen_spl-unlock.c -o gen_spl-unlock
cd spreadtrum_flash && make      # spd_dump

将 chsize、gen_spl-unlock、spd_dump 以及 UFS 包中的四个文件 (fdl1-dl.bin、fdl2-dl.bin、fdl2-cboot.bin、misc-wipe.bin)放入同一个工作目录。 下面的脚本将针对该目录运行。

进入 BROM

关机 → 按住 VOL_UP + VOL_DOWN → 插入 USB → 保持按住。你需要看到 USB 1782:4d00:

for d in /sys/bus/usb/devices/*/; do
  [ "$(cat $d/idVendor 2>/dev/null)" = 1782 ] && echo "BROM: $(basename $d)"
done

19d2:135x 是手机的正常 USB,不是 BROM。处于启动循环的手机没问题——每次复位都会重新运行 BootROM,在复位时重新采样按键。

解锁

一次一步,每一步之前都重新进入 BROM。运行期间保持按住音量键。

cd /path/to/working-dir
sudo /path/to/repo/scripts/unlock.sh 1   # back up SPL + uboot_b, erase SPL (won't boot after this)
sudo /path/to/repo/scripts/unlock.sh 2   # prep images locally, phone not needed
sudo /path/to/repo/scripts/unlock.sh 3   # write fdl2-cboot.bin to uboot_b
sudo /path/to/repo/scripts/unlock.sh 4   # the unlock. ends in "connection closed" = success
sudo /path/to/repo/scripts/unlock.sh 5   # read miscdata @8192: 64 zeros = locked, string+2 hashes = unlocked
sudo /path/to/repo/scripts/unlock.sh 6   # restore uboot/SPL. never skip this

第 4 步以 EXEC FDL1 结束 → 超时 → connection closed。这说明解锁正在生效,而不是失败。如果第 5 步显示全为零,请重新运行第 4 步。

第 3 步会使手机无法启动 Android(该 payload 并不是真正的 bootloader)——第 6 步会把你原厂的 uboot_bak.bin 恢复回去。不要在中途停下。

卡在 MyOS 标志界面

trustos 中的 FBE 密钥与锁定状态绑定,因此 /data 永远无法挂载。清除数据是必须的:

sudo /path/to/repo/scripts/fix-post-unlock-hang.sh

按住音量键,它会自动重新进入等待状态,直到捕获 BROM。擦除 userdata + metadata, 写入 BCB,然后重启。第三次尝试时捕获成功,耗时不到一分钟。

验证

adb shell getprop ro.boot.flash.locked          # 0
adb shell getprop ro.boot.verifiedbootstate     # orange
adb shell getprop ro.boot.vbmeta.device_state   # unlocked

fastboot getvar 在此设备上毫无用处(对所有内容都返回空值),因此不要在那里寻找确认信息。

后续操作

这是一台没有 recovery 分区的 VAB 设备。刷写前务必查询当前活动槽位:

adb shell getprop ro.boot.slot_suffix

原厂 B06 boot 镜像需要先对其 Magisk 输出重新签名,然后才能刷入。经过测试的 Windows 原厂刷机、AVB 签名和恢复流程见 docs/windows-flash-root.md。即使把 boot 镜像刷坏,BROM 仍然可用。分区映射见:docs/partition-table.md。

重新锁定: 可行(通过 BROM 将 miscdata 令牌清零),但对安全性毫无意义—— BootROM 漏洞是永久性的,任何人都可以用同样的步骤重新解锁。

致谢:CVE-2022-38694 由 NCC Group 发现。工具来自 TomKing062。 此处的脚本采用 MIT 许可。它会清空你的手机数据;后果由你自行承担。

下载工具