爱思助手

使用这两个降级工具遇到问题的用户们请进

  此前我们介绍 iOS 越狱开发者 tihmstar 将发布一款新的工具 Prometheus,这将会成为首款支持 64 位 iOS 设备升级或者降级到未经验证固件上的工具。这款工具的神奇之处在于,即使苹果已经关闭验证,仍支持用户在不同固件版本之间升级或降级(前提是要保存blobs),那对于越狱社区来说确实是大有用处。


使用这两个降级工具遇到问题的用户们请进


  而最近在第 33 届 C3 黑客大会上,他已经正式发布了这款工具,同时发布的还有他为用户准备的用来保存 blobs 的工具 Tsschecker,这款工具帮助用户以 .shsh2 的格式来保存,这是你想使用 Prometheus 工具的必备条件。

  但是这两款工具发布之后,用户在使用的过程中遇到了各种各样的问题,今天我们就这些问题一一进行说明,看看你在使用工具降级的过程中是否也遇到了这些问题,以及开发者 tihmstar 他提供了怎样的解决方案。

  Prometheus

  在这款工具发布之后,很快就有用户反映使用这个工具降级进行到“futurerestore”阶段时会出现各种问题。Futurerestore 阶段恰好是处理升级/降级的一个过程。

  服务器错误

  用户反映最多的就是使用工具的时候会出现处理器错误。有些人错误地认为这是因为苹果的 TSS 服务器已经完全下线了。虽然目前不知道这是因为服务器维修出现的问题,还是因为工具的编码出了问题,但是在最新版本中 tihmstar已经解决了这个问题。

  段错误

  第二个比较常见的错误就是段错误,这是因为 macOS 缺少必要的 OpenSSL 支持。不过这个问题也已经在新版 Prometheus 中得到解决。虽然上述两个问题都得到解决了,但一个更严重的问题出现了。

  iOS 10.1.1 上的 Touch ID

  因为“futurerestore”在恢复过程中不会降级 SEP+ 基带(没有 SEP 漏洞就无法降级),而是以目前验证版本的基带来替换。也就是说如果你恢复到 iOS 10.1.1,那么你在用的其实是 iOS 10.2 SEP + 基带。此前有人认为两个版本之间发布时间间隔不远,所以应该不会出问题;但是后来用户发现,虽然“futurerestore”完成了 iOS 10.1.1 降级,但是 Touch ID 功能无法使用。

  Touch ID 功能不可用的话,对某些用户来说影响可能还是挺大的,一些与它相连的服务或许也因此没法使用(比如 Apple Pay 支付需要 Touch ID 验证,这个功能可能受到影响)。

  有趣的是意大利越狱开发者 Luca Todesco 此前评论称这个问题其实有解决方案,只是在评论之后他就不再发声了。目前我们都不知道他所说的解决方案是否真的有效、他是不是已经在开发这个解决方案、或者他是否有意提供这个解决方案。对于这个问题 tihmstar 已经表示他不会给出解决方案。

  总的来说,虽然 Prometheus 发布之后一波三折,但是现在这些问题都得到解决之后,用户发现这个工具还是很好的。不过因为 Touch ID 的问题实在是无解,不知道会有多少用户愿意为了降级而不使用 Touch ID。

  TSSChecker

  Tihmstar 的另外一个工具 TSSChecker 也有两个非常严重的问题。

  iPhone 7 / Plus 不兼容

  iPhone 7 和 iPhone 7 Plus 在创建 nonce 的生成器时,使用的是和其他 64 位设备不一样的模式。这个问题虽然不影响到其他设备,但这也意味所有使用这两个设备的生成器保存的 blobs 是无效的。在 tihmstar 探明苹果在 nonce 和生成器之间建立的联系前,TSSChecker 将无法保存这两个设备的 blobs。

  BuildIdentities 和无效 blobs

  这个问题要解释起来就复杂了,不过它对不同用户的影响也不同。iOS 10 IPSW 文件的变化意味着很多设备将使用相同的 IPSW。也就是说与所有设备 (BuildIdentities) 相关的信息都会保存在 IPSW 中的 Build Manifest。TSSChecker习惯于使用它发现的第一个 BuildIdentity,然后为其请求 APTicket。但是如今 IPSW 中有那么多 BuildIdentities,那么它获得的第一个 BuildIdentities 就不一定是适合用户设备的那个。如果获得的 BuildIdentity 不正确,那么 TSSChecker 生成的 APTicket 也就是无效的。

  好在新版 TSSChecker 已经解决这个问题,相关更新也已经整合到 1Conan 的在线版工具 TSSSaver 中。不过你已经保存的 .shsh2 文件该怎么处理?它们是否也无效?

  如果你有 iOS 10.2 blobs,最好就是把它删掉,使用最新版 TSSChecker 或 TSSSaver 重新请求生成新的,因为 iOS 10.2 现在还可以验证,所以用户轻易就能拿到。相比验证你已经为特定固件保存的 blobs 相比,请求生成新的 iOS 10.2 blobs 要更快更简单。

  至于 iOS 10.1.1 及更旧的版本,以为验证已经关闭,你想请求新的 .shsh2 文件已是不可能。你唯一的选择就是祈祷你的 blobs 拿到了正确的 BuildIdentity,获得有效的 APTicket。你可用 tihmstar 的 img4tool 来测试一下便可知。

  目前建议此件已经保存了 iOS 10.2 .shsh2 blobs 的用户,使用最新的 TSSChecker 或 TSSSaver 工具来重新保存一下。至于更旧的 blobs 版本,用户也不要冲动,在确定它们确实不可用之后再删掉,目前确实有些幸运用户就发现他们的 iPhone 6 和 iPhone SE blobs 是正确的,而 iPhone 5s 的 blobs 却是无效的。

  如果你想使用 img4tool 来验证现有的 blobs,不论成功与否都可以分享出来,看看是否会在特定的机型上才会出现 blobs 有效或者无效的情况。另外如果你使用 tihmstar 的 Prometheus 和 TSSChecker,那么请确认你使用的是最新版本,从而可以避免以上很多问题。