The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Tethered Downgrade
Tethered Downgrades are downgrades which in someway flash an unsigned iOS Version but require some way to meet iTunes' requirements to do a restore. This process is most commonly used on A4 Devices (such as an iPhone 4) because of the bootrom exploit known as "Limera1n". If no attempt is done to fix the signature of the LLB, locking will result in adisplay failure which can only be fixed by restoring to a signed iOS version.
Installing a firmware version using this method (without valid SHSH blobs) is incompatible with an untethered jailbreak. Each time the device boots, the bootrom validates the SHSH blobs for LLB, LLB for iBoot, and so on. Therefore, the image validation function must be patched or bypassed with an appropriate bootrom exploit payload on every boot or the device will be forced into DFU mode.
Dead LCD Bug
Locking a device with an unsigned bootchain (speficially the LLB) while on battery power causes iOS to disable the LCD. A restore to the latest iOS is needed to fix this.
LCD Incompatibility
Some iOS versions (such as iOS 5) cannot boot when the device has a counterfeit display. A workaround for this has been found.
Method
Name | LCD Fix | Description |
---|---|---|
Bluefreeze | Yes? |
|
GeekGrade Beta 1 | Partial |
|
REALLY BAD METHOD™ | NO |
|
GeekGrade 1.0 | Yes |
|
Sund0wn | Yes |
|
Purpose
With this method you can install a firmware for which you don't have SHSH saved for some tests, for example if you're a software developer and need to do some tests on a specific version or if you prefer older iOS versions.
Alternative
You have to patch a firmware file (IPSW) which is signed by Apple exactly when you want to perform the downgrade.
- Patch out the signature check in iBSS and iBEC and apply another patch to iBEC (some lines of code before the patch the string "debug-enabled" is loaded into a register and some lines after the patch the string "development-cert" is loaded. Look at a patched iBEC from an iFaith IPSW for details).
- Patch the boot-args in iBEC to "rd=md0 amfi=0xff cs_enforcement_disable=1 pio-error=0" and do an iBEC patch that injects the boot-args.
- Patch asr to return "Image passed signature verification" where it would usually return "Image failed signature verification".
- Update the page hashes of asr with ldid.
- Grow the ramdisk to original size + size of asr (better some bytes larger).
- Rename the original asr and add the patched asr.
- chmod asr to 100755
- Replace the root file system dmg with the decrypted root file system dmg of the older firmware you want to downgrade to. (take care that the decrypted dmg has the format UDZO!)
- Enter pwned DFU Mode.
- Use an old iTunes version that allows downgrades on your iOS device and restore to your patched IPSW.
- To start up your device you will have to boot tethered (depending on iOS version redsn0w or opensn0w).