Gabriel2392/SVE-2026-3546
安全针对三星 S-LK 的未签名代码加载概念验证,在 s5e8825 平台熔断 Secure Boot 密钥并刷入重签引导文件。
项目介绍
这是一个针对三星 S-LK(Secure Boot)的未签名代码加载研究性 PoC。它先对 bootloader 和 PIT 文件重新签名,再构建自定义 loader,最后在 s5e8825 平台上熔断 Secure Boot KEY2 并刷入重签后的 bootloader。仓库中的 AUTH 演示 GIF 展示了启动流程 演示。
按 README 的说法,厂商的 KEY2 槽位会被熔断,设备随后信任重签的镜像。目标读者是研究三星启动链的安全研究员和逆向工程师,不是普通用户。作者明确表示目前只支持 s5e8825。
快速使用
准备 Python 3、clang、aarch64-linux-gnu 的 binutils,以及手机上的 libusb 访问权限 依赖说明。先安装 Python 依赖并构建 Android 重签工具:
python3 -m pip install -r requirements.txt
cargo build --release --manifest-path android-resigner/Cargo.toml
签名工具自身的使用说明见 android-resigner/README.md。然后按文档顺序执行四个阶段:
./sign_bl.py BL.tar.md5 device.pit
./resolve.py BL_RESIGNED.tar.md5
./build_loader.sh BL_RESIGNED.tar.md5 device_RESIGNED.pit
./flash_and_fuse.py
第一步输出 BL_RESIGNED.tar.md5 和 device_RESIGNED.pit 签名步骤;第三步输出 loader.bin、loader.elf 和 loader/bundle.bin 构建 loader;最后一步刷入并熔断 运行步骤。BL.tar.md5、device.pit 和手机标识都应视为用户自行提供的值。
使用约束
- 平台目前仅限 s5e8825;解析偏移量的步骤只覆盖该平台,其他平台需自行处理 偏移步骤。
- 最后一步会熔断 Secure Boot KEY2,这是单向的硬件改动。熔断后刷入重签 bootloader 会把设备绑定到这些镜像,仓库没有说明恢复途径。
- 仓库元数据中没有声明许可证。
- README 声明仅供研究用途,设备损坏由使用者自行承担 免责声明。
- 仓库没有说明支持的固件版本、具体机型或回滚流程,执行前需要自行确认目标环境。
HotRepo 点评
该项目于 2026-11-05 出现在 HotRepo 新项目榜的 Rust 语言列表中,在 UTC 20:45 开始的约两小时增长窗口内新增 6 Star、1 Fork,最后一次观测为 106 Star。没有全部语言日榜名次记录,因此这些数据只支持该短窗口内的事实,不足以判断趋势。对于一个会永久熔断密钥、且未声明许可证的启动链安全 PoC 来说,这个关注度更像是对该技术本身的兴趣,而不是安全可用或可复现的证明。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。