刷机过程大概是这样的:你从网上下载一个ipsw格式的固件,打开iTunes,连接手机,固件就可以刷进去了。实际上,刷机过程中,数据是这么流动的:
ipsw文件 --> iTunes --> iOS设备的CPU --> iOS设备的Flash/eMMC
其中非常关键的一点是:只有CPU才能把固件写到Flash/eMMC中,所以你能不能成功刷机,在于CPU同不同意。CPU不同意,你就刷不进去。
(为什么不能绕开CPU直接写入Flash/eMMC呢?这是因为iOS设备是全盘加密的,也就是说,往Flash/eMMC里写东西要先加密。这个加密密钥写在CPU内部,只有CPU才知道。而且每台设备的密钥都是不一样的。
所以,你没有密钥,就无法向Flash/eMMC写入正确的数据,即使把Flash/eMMC拆下来刷入也不行。)
那么CPU怎么决定能否刷机呢?需要验证来自苹果服务器的固件签名。假如固件签名正确,就可以刷入固件。所以iTunes必须向苹果服务器询问这个固件的签名,提供给CPU。苹果服务器根据这个固件的真伪、版本号,来决定是否提供签名。所以,苹果服务器对你能否刷入固件是有决定权的。