偶然发现现在iPhone 5S有破解工具可以降级到10.3.3,我正好有个升级到ios12卡到爆的iPhone 5S,就打算研究降级一下。
首先,这个工具的源代码在这里可以找到:
https://github.com/MatthewPierson/Vieux.
目前,只能在macOS运行,根据项目ReadMe的说法,虚拟机是不支持运行的,只能实体机。所以需要真正的mac电脑或者黑苹果,对环境要求比较苛刻,我这里就是使用黑苹果运行。
我的系统是macOS Catalina,在克隆下代码后,需要进行一步额外操作,执行./CatalinaFix.sh
另外,有说法说是还需要额外安装libusb
,我就顺手用brew安装了一下,反正装上又没啥损失。
然后就可以安装文档描述的依次执行以下两步
pip3 install -r requirements.txt
./vieux -i "PATH/TO/.ipsw"
在执行第二步前,需要把手机启动到DFU模式(注意不是恢复模式)。
中间可能会出现python崩溃的问题,这个是看人品的,说明这次破解失败了,重新运行最后一步即可。
不过,我在这个过程中额外踩了一个坑。大概跟这个issue的情况比较类似:https://github.com/MatthewPierson/Vieux/issues/32,即ECID inside APTicket does not match device ECID
错误。
我观察发现,错误的ECID和设备的ECID正好是十六进制和十进制的关系,所以,只是个小Bug罢了。修改一下代码就好,修改restore.py
文件中的restore64
方法里调用saveshsh
方法的那句,将ecid
改成str(int(ecid,16))
相当于把十六进制转换成十进制,问题就解决了。