如何在 iPhone 上安装未签名的 iOS 版本?

The*_*heo 2 iphone jailbreak ios

我正在使用多个使用旧 iOS 版本的设备在开发过程中在实际硬件上测试我的应用程序(某些使用相机或某些核心图像 API 的功能在模拟器上不起作用)。我的最后一个应用很快就会停止支持 iOS 11,所以我想将运行 iOS 11 的 iPhone SE 升级到 iOS 13。

IPSW 文件可以从ipsw.me 等网站下载,但显然没有官方方法来安装此类升级,因为 Apple 不再对这些固件进行签名。有没有办法绕过这个限制?

Sig*_*uza 7

在实践中,你不能。

理论上,有以下三种方式:

  1. 成为苹果员工。
  2. 打破 RSA。
  3. 查找 Apple 启动链中的漏洞。

假设数字 1 和 2 对您不可行,让我们看看第三个选项。直到并包括 iPhone 8 和 X 在内的所有 iPhone 实际上都有一个已知的 BootROM 漏洞 - A5-A11 芯片的漏洞被称为checkm8。但是有几个问题:

  • 该错误位于 BootROM 的 DFU 部分,因此为了使用它,您必须在每次启动时将设备放入 DFU。你不能只是“安装”一个操作系统然后就完成了。
  • 该错误仅影响应用处理器,而不影响安全飞地。因此,您必须修补系统以更新负责与 SEP 对话的代码,以便它与当前签名的固件一起工作,或者根本不与 SEP 对话。

现在还有一个叫做blackbird 的漏洞——这次是在 SEPROM 中。它仅限于 A8-A10 芯片(包括您的 iPhone SE),并允许两种潜在的解决方案:

  • Apple 的固件签名将特定版本与特定设备联系起来。如果您之前在苹果分发时保存了这样的签名,您可以使用这两个错误降级到这样的版本,然后在不越狱的情况下继续使用它。
  • 如果你没有为你的设备保存这样的签名,你仍然可以通过 DFU 加载一个未签名的 SEPOS 固件,所以你至少可以启动旧版本的绑定。

现在自我插入:我在checkra1n越狱的开发团队中,我们确实计划为上述程序实现一个合理的接口 - 但我们还有很长的路要走,而不是我们的首要任务。

所以暂时:你不能安装未签名的版本。