Odysseus

From The iPhone Wiki
Revision as of 17:34, 25 October 2015 by Xerub (talk | contribs) (no need to repeat that over and over)
Jump to: navigation, search

Odysseus is a tool by xerub to downgrade/upgrade/restore specific 32-bit devices to specific firmwares. This method only works if you are jailbroken, have valid SHSH Blobs and a valid APTicket.

How it works

It uses a tool included in winocm's ios-kexec-utils called kloader. kloader is a CLI that you can run on an iOS device which loads an (decrypted) image. It allows you to bootstrap a pwned iBSS and then initiate a restore using idevicerestore with a custom IPSW, which allows you to downgrade/upgrade/restore to the firmware of your choice. There are firmware bundles that allow you to restore each device to each iOS. If the bundle for the device and iOS you want to get does not exist, the downgrade/upgrade cannot happen. Each bundle is made by grabbing the Keys/IVs from the original firmware. They are posted here.

Compatibility

Notes

This only works on some jailbroken 32-bit devices with an untether that has tfp0 enabled. The latest versions of TaiG, Pangu9, Pangu8, Pangu, evasi0n7, and evasi0n all have tfp0 activated. Also, this will *NOT* change your baseband. If you go too far up or down with iOS version, it may be that the version of iOS you restored to does not understand the baseband left behind by the prior version of iOS. If that happens, you will not get past activation and you cannot re-jailbreak the device. As a consequence, the device will remain in activation limbo and you'll have to restore to the currently signed version of iOS.

iPad

iOS Device
iPad 2 (iPad2,1) iPad 3 (iPad3,1) iPad 3 (iPad3,3)
6.1.2 No Yes No
6.1.3 Yes No Yes
7.1.2 Yes

iPhone

iOS Device
iPhone 4 (iPhone3,1) iPhone 4 (iPhone3,3) iPhone 4S (IPhone 4,1) iPhone 5 (iPhone5,2) iPhone 5c (iPhone5,4)
6.1.2 Yes No N/A
6.1.3 Yes No Yes No N/A
7.0.4 Yes No Yes No
7.0.6 Yes No
7.1.2 Yes
8.1.2 N/A No Yes
8.3 No Yes No

Download

Version Download SHA-1
0.1 dayt0n.com a7ebd3743479a66b7502af947f6967cb4b54b54a
0.2 dayt0n.com 812cd80725003f1aed897eebe623b5fb39500510
0.3 dayt0n.com 8aedd1af2e3e96b58d7ab5e2f58fbcf76ad08411
0.4 dayt0n.com 2f8f368b047f66a96bf2e51ab228cdde2435444a
0.99 dayt0n.com fc98665bce96f406eafeb8d4f8745f70a08f62c8
0.999 dayt0n.com 23717f90a6b5bf847b996648be4c06046bc590b

Notes

Odysseus was initially designed to preserve your current baseband, but it was observed that some baseband/iOS combinations work fine, some don’t. In case the baseband does not work, you will have no service on your phone. An option to create custom ipsws in conjunction with OTA buildmanifests was added to odysseus at a later time. This can, essentially, handle OTA/baseband downgrades, but the process is quite convoluted. In OdysseusOTA, tihmstar added a feature that allows creating custom ipsw, which fetches ota blobs instead of normal blobs. Those can be used for downgrading, but still require the kDFU procedure, because normal ota blobs are signing a different ramdisk. With ota blobs it is possible to downgrade the baseband, which is otherwise not possible. Technically odysseusOTA can do everything what odysseus can, but it only supports ota downgrades, so if you want to downgrade with saved shsh blobs to versions where no ota blobs are signed, please use odysseus.

Links