IOS9挂出已经有一个多月,不过根据网上的大多数人的回复来看,槽点不少。而且在一些老旧设备上运行缓慢卡顿,在九月份的时候,如果当时后悔还可以通过itunes恢复或SFU方式恢复至老版本。不过当前由于苹果已关闭该版本刷机验证,再使用该方法时,会提示不支持该版本刷机或报3194的错误。不过使用OdysseusOTA 2工具可以将iPhone 5、iPhone 5c、iPhone 4s、iPad 3 和 iPad 2用户的IOS版本降级到8.4.1 。

一、刷机条件

1、手机需先越狱(后面会使用CYDIA第三方商店安装OpenSSH和Core Utilities );

2、下载odysseusOTA2工具包:google drive下载(需翻墙) 百度云下载 (提取密码: 2z7t);

3、一台linux主机或mac 主机 ;

4、8.4.1.ipsw固件

odysseusOTA2工具包,从视频文字上来看,应该是德国程序员发明的,开发者对其工作原理的解释是:“这之所以能够成功,是因为苹果官方没有关闭IOS8.4.1的OTA验证,而我们拥有“钥匙”,不过该方法并不适用于其它 iOS 版本”。

二、刷机方法

这里手机越狱的方法不再提供,因为国内支持一键越狱功能的软件太多,这里重点提下OdysseusOTA 2 的使用方法。操作步骤在OdysseusOTA 2 的README.txt中,操作之前可以先看下如下视频:

全屏播放 (由于当前主题问题无法全屏,可以连接该链接全屏查看)

README.txt中提供的步骤如下:

 1#build custom ipsw --> 生成自制固件
 2./ipsw path_to_original_8.4.1_restore.ipsw custom_downgrade.ipsw -bbupdate
 3#DO NOT FORGET -bbupdate   !!!!!!
 4#download shsh blobs  -->生成shsh文件
 5./idevicerestore -t custom_downgrade.ipsw
 6#extract pwnediBSS  -->提取pwnediBSS
 7./xpwntool `unzip -j custom_downgrade.ipsw 'Firmware/dfu/iBSS*' | awk '/inflating/{print $2}'` pwnediBSS
 8#copy files to device    -->向设备复制文件,可以通过设置->无线局域网(Wi-Fi)查看手机IP
 9scp pwnediBSS ../kloader root@IP_OF_DEVICE:  -->scp的时候不要忘记设备IP最后的冒号
10#dont forget the „:“ here ————————————————^
11#default ssh password is „alpine“  -->ssh默认密码为alpine
12#ssh to the device
13ssh root@IP_OF_DEVICE
14#run kloader (on device via ssh)  -->此时手机屏幕会变黑,手机进入DFU模式
15./kloader pwnediBSS
16#when your device’s screen turn’s black, open a new tab/terminal and close the current one with the ssh session
17#now back on the computer run the restore  -->生成的ipsw包写入,并开始刷机
18./idevicerestore -w ./custom_downgrade.ipsw
19Done :)

最后一步需要注意,如果执行时提示没有发现设备的话,那你观察一下你的手机屏幕是不是黑的,按一下home键看看可有反应(不要按电源键),
可能你按一下home键就成功进入DFU了,此时再执行下最后一步。

三、问题难点

1、并不是所有版本的8.4.1的固件都支持的,其只支持iPhone5,1_8.4.1_12H321、iPhone5,2_8.4.1_12H321两个版本的固件,我确认下了就是iphone5 下的两个固件,不过可以支持刷给5C ,官方提供的5C版本的固件是iPhone5,3_8.4.1_12H321、iPhone5,4_8.4.1_12H321 。

2、需要安装大量lib库依赖

由于用惯了在linux下操作,我使用是centos7环境,默认执行时会出现会缺少很多lib库文件,比较麻烦的是打这些缺少的lib包,如下:

 1[root@361way linux64]# ldd ./ipsw
 2        linux-vdso.so.1 =>  (0x00007ffe22ffe000)
 3        libz.so.1 => /lib64/libz.so.1 (0x00007f470e907000)
 4        libcrypto.so.1.0.0 => not found
 5        libbz2.so.1.0 => not found
 6        libpng12.so.0 => not found
 7        libc.so.6 => /lib64/libc.so.6 (0x00007f470e544000)
 8[root@361way linux64]# ldd ./idevicerestore
 9./idevicerestore: /lib64/libcurl.so.4: no version information available (required by ./idevicerestore)
10        linux-vdso.so.1 =>  (0x00007ffe7b1fe000)
11        libirecovery.so.2 => not found
12        libimobiledevice.so.4 => /lib64/libimobiledevice.so.4 (0x00007f42aa1b4000)
13        libplist.so.3 => not found
14        libzip.so.2 => not found
15        libz.so.1 => /lib64/libz.so.1 (0x00007f42a9f9d000)
16        libcrypto.so.1.0.0 => not found
17        libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f42a9d38000)
18        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f42a9b1b000)
19        ……………………省略
20[root@361way linux64]# ldd ./xpwntool
21        linux-vdso.so.1 =>  (0x00007fffe1995000)
22        libz.so.1 => /lib64/libz.so.1 (0x00007f88823c5000)
23        libcrypto.so.1.0.0 => not found
24        libpng12.so.0 => not found
25        libc.so.6 => /lib64/libc.so.6 (0x00007f8882003000)
26[root@361way linux64]# pwd
27/root/odysseusOTA2/linux64

上面的包可以通过第三方源安装一部分,另外一步分找不到的就需要手动编译后,链接到/lib64目录下。尤其是github有一个跨平台的项目libimobiledevice 的包需要安装 ,在mac 下该步应该可以省略---毕竟都是apple公司自家的东西,在mac中默认会有libmobiledevice这块的驱动和lib包支持。

ipsw

四、最后

对于iOS设备来说,往往都是升级容易降级难。使用老设备的用户尽量不要像我手欠尝新,完了又尝试各种方法退回去,因为IOS很多时候刷不好就会被刷成砖头。最后还是要提示下,刷机有风险,操作需谨慎。