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文件和相应的工具,可以实现将设备的操作系统版本从较新的版本降回较旧的版本。