1. 初步理解:SHSH与SHSH2的区别
iOS设备越狱中,SHSH blobs和SHSH2 blobs是用于保存固件签名的重要文件。两者的主要区别在于:
加密算法不同:SHSH使用的是较早的加密方式,而SHSH2则基于更安全、更复杂的AES-GCM算法。数据结构差异:SHSH2包含更多的元数据信息,例如绑定的设备硬件标识符(ECID)和特定版本的BLOB信息。适用范围不同:苹果从iOS 9开始全面转向SHSH2格式,旧版SHSH已无法满足现代越狱需求。
因此,直接将SHSH转换为SHSH2是不可能的,需要重新生成SHSH2 blobs。
2. 技术实现:如何获取SHSH2 blobs
以下是通过工具tsschecker重新获取SHSH2 blobs的详细步骤:
确保你的设备已连接到电脑,并安装了最新版本的tsschecker工具。打开命令行终端,输入以下命令以启动tsschecker:
tsschecker -d
其中:
-d:指定设备型号,例如iPhone8,1代表iPhone 6s。-e:指定设备的唯一标识符ECID。-B:指定设备的板配置信息。-s:表示仅保存有效的BLOB文件。
3. 分析过程:为何不能直接转换
从技术角度分析,SHSH和SHSH2之间的不兼容性源于以下几个关键点:
比较维度SHSHSHSH2加密方式AES-128-CBCAES-GCM数据完整性较弱,容易被篡改强,内置MAC认证适用版本iOS 4至iOS 8iOS 9及以上
由于这些根本性的差异,即使尝试通过逆向工程或数据重组,也无法实现两者的直接转换。
4. 解决方案:流程图示例
以下是获取SHSH2 blobs的整体流程图:
graph TD;
A[开始] --> B{是否已知ECID};
B --是--> C[准备tsschecker工具];
B --否--> D[使用Cydia Impactor提取ECID];
C --> E[运行tsschecker命令];
D --> E;
E --> F[保存SHSH2 blobs];
注意:在执行上述步骤时,务必确保苹果仍在为所需版本签名,否则将无法成功保存。