推荐语:
这是一篇关于如何绕过安全启动,然后实现破解BootRom的文章。通过这篇文章,可以让你对于ATF、安全启动等有个更深刻的影响哦。
往期经典:
- 万字长文带你搞懂安全启动及ATF
- 硬核!大佬通过Intel CPU的JTAG接口,DUMP微软原始Xbox的加密BootROM。
- 硬的不行来软的,我还破解不了你?看老哥如何使用软件Dump你的BootRom。
- 牛掰!这老哥用显微镜摄取芯片ROM,还原了芯片的二进制固件。
Amlogic S905 系统级芯片是一款专为视频应用设计的 ARM 处理器。
它广泛用于 Android/Kodi 媒体盒子中。该 SoC 实现了 TrustZone 安全扩展,以运行一个可信执行环境(TEE),该环境支持数字版权管理(DRM)和其他安全功能:

该 SoC 包含一个安全启动机制,用于在将受信执行环境(TEE)映像加载到 TrustZone 之前对其进行身份验证。安全启动链的第一个环节是 BootROM 代码,该代码直接存储在芯片中。
本文介绍了如何从基于 Android 的 Inphic Spot i7 设备中的此 SoC 提取 BootROM 代码。
技术文档
Amlogic 在 Hardkernel 的帮助下发布了 S905 数据手册的公开版本。然而,该版本被大量删减,其中大部分关于安全启动或 TrustZone 的内容已被移除。
但我们仍然可以在 Amlogic 和原始设备制造商(OEM)发布的 GPL 源代码包中找到大量技术信息。
例如,我们可以找到 BootROM 代码的一个潜在地址:
#define ROMBOOT_START 0xD9040000
#define ROM_SIZE (64 * 1024)
#define ROMBOOT_END (ROMBOOT_START + ROM_SIZE)
通过 UART 获取 root 访问权限
我们首先从连接串口(或 UART)开始,因为这个接口可以快速轻松地访问引导程序和 Linux 内核上的调试消息和串行控制台。
由于板上有一个带有引脚布局标签的端口接头,因此识别该板上的串口相当简单:

我们将 USB 到 UART 适配器连接到这个端口。一旦 Linux 内核启动过程完成,我们就可以直接访问 root shell。
我们可以开始探索系统(的非安全

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



