iOS降级SHSH
iOS降级是指将设备的操作系统版本从较新的版本降回较旧的版本。这个过程需要使用SHSH(Signature HaSH)文件,它包含用于验证设备固件的数字签名。
本文将介绍iOS降级的方法,并提供相关代码示例。
SHSH文件
SHSH文件是苹果为了验证iOS设备固件的合法性而引入的一种机制。它包含了设备固件的数字签名,只有通过验证的固件才能被设备接受。
SHSH文件是一个XML文件,其中包含了设备的ECID(Exclusive Chip ID)和固件版本等信息,以及用于验证固件的数字签名。
获取SHSH文件
要降级iOS设备,首先需要获取设备的SHSH文件。这可以通过使用工具如[TSS Saver]( Saver是一个命令行工具,它能够自动获取设备的SHSH文件并保存到本地。
以下是使用TSS Saver获取SHSH文件的代码示例:
# 安装TSS Saver
git clone
cd tsschecker
make build
# 获取SHSH文件
./tsschecker -d <device_identifier> -e <ecid> -s -l
<device_identifier>
:设备的标识符,如iPhone8,1(iPhone 6s)<ecid>
:设备的ECID,可以在iTunes中找到
执行上述命令后,TSS Saver将自动获取设备的SHSH文件,并保存到当前目录下。
降级iOS设备
获取到设备的SHSH文件后,就可以使用它来进行降级了。降级过程涉及到设备的固件、验证和安装等步骤。
以下是降级iOS设备的代码示例:
# 降级设备
./tsschecker -d <device_identifier> --latest-sep --latest-baseband -s --buildid <buildid> --save-path <shsh_path>
# 验证SHSH文件
./tsschecker -d <device_identifier> -e <ecid> -i <ipsw_path> -s --buildid <buildid> --apnonce <apnonce>
# 安装固件
./futurerestore -t <shsh_path> --latest-sep --latest-baseband -i <ipsw_path> --no-baseband
<ipsw_path>
:降级到的固件的路径<buildid>
:固件的Build ID<shsh_path>
:SHSH文件的路径<apnonce>
:用于验证SHSH文件的APNonce(Application Nonce)
要注意的是,降级iOS设备需要使用[futurerestore](
状态图
下面是一个状态图,展示了iOS降级的整个过程:
stateDiagram
[*] --> 获取SHSH文件
获取SHSH文件 --> 降级设备
降级设备 --> 验证SHSH文件
验证SHSH文件 --> 安装固件
安装固件 --> [*]
旅行图
下面是一个旅行图,展示了降级iOS设备的整个过程:
journey
title 降级iOS设备的旅程
section 获取SHSH文件
获取设备标识符和ECID
使用TSS Saver获取SHSH文件
section 降级设备
获取固件版本和Build ID
使用TSS Saver降级设备
section 验证SHSH文件
获取固件文件
使用TSS Saver验证SHSH文件
section 安装固件
安装降级后的固件
完成降级过程
结论
iOS降级是一个需要仔细操作的过程,但通过使用SHSH文件和相应的工具,可以实现将设备的操作系统版本从较新的版本降回较旧的版本。