2020-07-23 02:47:36 +02:00
# iOS-OTA-Downgrader
2020-09-16 08:50:12 +02:00
### Downgrade/restore and jailbreak iOS devices to signed OTA firmwares
2021-01-10 08:27:00 +01:00
- **Linux and macOS** are supported by this downgrade script/tool
- Windows users can create a Linux live USB (see Requirements)
- iOS 8.4.1 and 6.1.3 downgrades have the option to **jailbreak** the install
- For iOS 10.3.3, use [TotallyNotSpyware ](https://totally-not.spyware.lol ) to jailbreak
2020-09-16 08:50:12 +02:00
- **You do NOT need blobs to use this**, the script will get them for you
2021-01-10 08:27:00 +01:00
- This script can also restore your device to other iOS versions that you have SHSH blobs for (32-bit devices only, listed under Supported devices)
2021-03-25 02:43:14 +01:00
- **Please read the "Other notes" section for tips, frequent questions, and troubleshooting**
2019-11-21 16:48:05 +01:00
2020-04-01 14:12:36 +02:00
## Supported devices:
2020-03-13 05:12:49 +01:00
2020-09-15 05:46:17 +02:00
- You can identify your device [here ](https://ipsw.me/device-finder )
2021-03-25 02:43:14 +01:00
- **iPhone 5C and iPad mini 3 devices are NOT supported** (OTA versions for them are not signed)
2021-01-10 08:27:00 +01:00
- iPhone 5C can still be restored to versions that you have SHSH blobs for
< table >
< thead >
< tr >
< th > Target Version< / th >
< th > Supported Devices< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td rowspan = 4 > iOS 10.3.3< / td >
< td > < b > A7 devices:< / b > < / td >
< / tr >
< tr > < td > iPhone 5S< / td > < / tr >
< tr > < td > iPad Air 1< / td > < / tr >
< tr > < td > iPad mini 2 (except iPad4,6)< / td > < / tr >
< tr >
2021-03-25 02:43:14 +01:00
< td rowspan = 6 > iOS 8.4.1< / td >
2021-01-10 08:27:00 +01:00
< td > < b > 32-bit devices:< / b > < / td >
< / tr >
< tr > < td > iPhone 4S< / td > < / tr >
< tr > < td > iPhone 5< / td > < / tr >
< tr > < td > iPad 2, iPad 3, iPad 4< / td > < / tr >
2021-03-25 02:43:14 +01:00
< tr > < td > iPad mini 1< / td > < / tr >
2021-03-27 02:30:39 +01:00
< tr > < td > iPod touch 5< / td > < / tr >
2021-01-10 08:27:00 +01:00
< tr >
< td rowspan = 2 > iOS 6.1.3< / td >
< td > iPhone 4S< / td >
< / tr >
< tr > < td > iPad 2 (except iPad2,4)< / td > < / tr >
< / tbody >
< / table >
2020-03-13 05:12:49 +01:00
2020-09-15 05:46:17 +02:00
## Requirements:
2021-01-10 08:27:00 +01:00
- **A supported device in any iOS version (listed above):**
- A 32-bit device (**jailbreak needed**)
2020-08-21 01:02:00 +02:00
- An A7 device (jailbreak not needed)
2020-09-15 05:46:17 +02:00
- An IPSW for the version you want to downgrade to
- Links: [iOS 10.3.3 ](https://ipsw.me/10.3.3 ), [iOS 8.4.1 ](https://ipsw.me/8.4.1 ), [iOS 6.1.3 ](https://ipsw.me/6.1.3 )
- The script can also download it for you
- A **64-bit Linux install/live USB** or a supported **macOS** version
- See supported OS versions and Linux distros below
2020-09-15 05:56:58 +02:00
- A Linux live USB can be easily created with tools like [balenaEtcher ](https://www.balena.io/etcher/ ) or [Rufus ](https://rufus.ie/ )
2021-01-10 08:27:00 +01:00
- Users with 32-bit devices must install [OpenSSH ](https://cydia.saurik.com/package/openssh/ )
2021-03-29 17:45:48 +02:00
- Users in iOS 10 (A6/A6X) must also install Dropbear from my [Cydia repo ](https://lukezgd.github.io/repo/ )
2020-09-15 05:46:17 +02:00
< details >
< summary > For Pangu 32-bit users:< / summary >
< ul > < li > For 32-bit users using Pangu, install the latest untether for your iOS version < a href = "https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/tag/untether" > here< / a > < / li > < / ul >
< / details >
2020-02-08 16:19:36 +01:00
2021-03-29 17:45:48 +02:00
## Usage:
2020-09-15 05:46:17 +02:00
1. [Download iOS-OTA-Downgrader here ](https://github.com/LukeZGD/iOS-OTA-Downgrader/archive/master.zip ) and extract the zip archive
2. Plug in your iOS device
3. Open a Terminal window
2020-09-15 05:56:58 +02:00
4. `cd` to where the zip archive is extracted, and run `./restore.sh`
- You can also drag `restore.sh` to the Terminal window and press ENTER
2021-03-29 17:45:48 +02:00
5. Select options to be used
2020-09-15 05:46:17 +02:00
6. Follow instructions
## Supported OS versions/distros:
2021-03-25 03:29:47 +01:00
- **Ubuntu** [18.04 ](https://releases.ubuntu.com/bionic/ ), [20.04 ](https://releases.ubuntu.com/focal/ ), [20.10 ](https://releases.ubuntu.com/groovy/ ), [21.04 ](https://releases.ubuntu.com/hirsute/ ); and Ubuntu-based distros like [Linux Mint ](https://www.linuxmint.com/ )
- [**Arch Linux** ](https://www.archlinux.org/ ) and Arch-based distros like [EndeavourOS ](https://endeavouros.com/ )
2021-03-29 17:45:48 +02:00
- [**Fedora** 32 to 34 ](https://getfedora.org/ )
2021-03-25 03:29:47 +01:00
- [**Debian** Buster, Bullseye, Sid ](https://www.debian.org/ ); and Debian-based distros like [MX Linux ](https://mxlinux.org/ )
2021-03-29 17:45:48 +02:00
- **openSUSE** [Tumbleweed ](https://software.opensuse.org/distributions/tumbleweed ), [Leap 15.2 ](https://software.opensuse.org/distributions/leap )
2021-03-25 03:29:47 +01:00
- **macOS** 10.12 to 11
2020-01-06 15:45:55 +01:00
2020-02-08 16:19:36 +01:00
## Other notes:
2021-03-29 17:45:48 +02:00
- **If something in the process does not work for you:** try unplugging/replugging the device, switching between different USB ports/cables, also try USB 2.0 ports
- **IPSW file integrity** will be verified before restoring and/or creating custom IPSW (if custom IPSW is already created, this will be skipped)
- **For users having issues with missing libraries/tools:** Re-install dependencies with `./restore.sh Install`
2021-01-10 08:27:00 +01:00
- Alternatively, delete the `libimobiledevice` or `libirecovery` folder in `resources` then run the script again
2021-03-29 17:45:48 +02:00
- **For A7 devices:**
2020-08-10 16:08:15 +02:00
- Do not use USB-C to lightning cables as this can prevent a successful restore
2021-01-10 08:27:00 +01:00
- checkm8 ipwndfu is unfortunately pretty unreliable, you may have to try multiple times (for Linux users, also try in a live USB)
2021-03-29 17:45:48 +02:00
- If the script cannot find your device in pwnREC mode or gets stuck, you may have to start over by hard-resetting and re-entering recovery/DFU mode
2021-03-05 05:49:07 +01:00
- Use an Intel PC/Mac as entering pwnDFU (checkm8) may be a lot more unreliable on AMD devices
2021-01-10 08:27:00 +01:00
- Other than the above, unfortunately there's not much else I can do to help regarding entering pwnDFU mode.
2021-03-29 17:45:48 +02:00
- **For 32-bit devices:**
2021-03-12 04:41:39 +01:00
- To make sure that SSH is successful, try these steps: Reinstall OpenSSH/Dropbear, reboot and rejailbreak, then reinstall them again
2020-10-22 06:13:25 +02:00
- To devices with baseband, this script will restore your device with the latest baseband (except when jailbreak is enabled, and on iPhone5,1 as there are reported issues)
2020-07-23 04:08:46 +02:00
- This script can also be used to just enter kDFU mode for all supported devices
2020-09-15 05:46:17 +02:00
- As alternatives to kloader/kDFU, checkm8 A5 or ipwndfu can also be used in DFU advanced menu
- To enter DFU advanced menu, put your iOS device in DFU mode before running the script
2021-03-29 17:45:48 +02:00
- This script can work on virtual machines, but I will not provide support for them
- If you want to use other manually saved blobs for 6.1.3/8.4.1, create a folder named `saved` , then within it create another folder named `shsh` . You can then put your blob inside that folder.
- The naming of the blob should be: `(ECID in Decimal)_(ProductType)_(Version)-(BuildVer).shsh(2)`
- Example with path: `saved/shsh/123456789012_iPad2,1_8.4.1-12H321.shsh`
- **For the jailbreak option (iOS 6.1.3 and 8.4.1):**
2021-01-10 08:27:00 +01:00
- If you have problems with Cydia, remove the ultrasn0w repo and close Cydia using the app switcher, then try opening Cydia again
2021-03-29 17:45:48 +02:00
- If you cannot find Cydia in your home screen, try accessing Cydia through Safari with `cydia://` and install "Jailbreak App Icons Fix" package from my Cydia repo
- **For the jailbreak option (iOS 8.4.1 only):**
2021-01-10 08:27:00 +01:00
- Stashing is already enabled and `nosuid` is removed from `fstab` , so no need to install "Stashing for #etasonJB " package
2021-03-29 17:45:48 +02:00
- **For users with A5 Rev A ([8942](https://www.theiphonewiki.com/wiki/S5L8942)) and A5X ([8945](https://www.theiphonewiki.com/wiki/S5L8945)) devices:**
- **A5 Rev A devices:** iPad2,4, iPad mini 1, iPod touch 5
- **A5X devices:** iPad 3
- The jailbreak option **might not work** on A5 Rev A devices (see issue #70 )
- For users that downgraded **without** jailbreak option, and have manually jailbroken with the EtasonJB app, it is recommended to install "EtasonJB Disable Bootloop Protection" from my Cydia repo
- For users that downgraded **with** the jailbreak option, and to users that have installed "EtasonJB Disable Bootloop Protection", your device might take a very long time to boot, possibly 20 minutes or more
2021-04-05 03:56:48 +02:00
- **My Cydia repo**: https://lukezgd.github.io/repo/ - for installing Dropbear, Jailbreak App Icons Fix, EtasonJB Disable Bootloop Protection
2019-11-20 13:39:56 +01:00
2020-03-13 05:12:49 +01:00
## Tools and other stuff used by this script:
2019-11-20 13:39:56 +01:00
- cURL
2020-04-01 14:12:36 +02:00
- bspatch
2020-07-26 03:50:21 +02:00
- [ipwndfu ](https://github.com/LukeZGD/ipwndfu )
2020-09-13 14:51:26 +02:00
- [iPwnder32 ](https://github.com/dora2-iOS/iPwnder32 )
2020-09-06 09:57:01 +02:00
- [irecovery ](https://github.com/LukeZGD/libirecovery )
2020-08-16 13:31:50 +02:00
- [libimobiledevice ](https://github.com/libimobiledevice/libimobiledevice )
2020-08-17 14:31:15 +02:00
- [imobiledevice-net ](https://github.com/libimobiledevice-win32/imobiledevice-net ) (macOS)
2020-09-16 01:59:50 +02:00
- [idevicerestore ](https://github.com/LukeZGD/idevicerestore )
2020-09-16 08:50:12 +02:00
- ipsw tool from OdysseusOTA/2
2021-03-25 02:43:14 +01:00
- Python 2 (for ipwndfu, rmsigchks)
2020-08-21 01:02:00 +02:00
- [tsschecker ](https://github.com/tihmstar/tsschecker )
2020-07-30 07:23:30 +02:00
- [futurerestore 152 ](http://api.tihmstar.net/builds/futurerestore/futurerestore-latest.zip ) (32-bit)
2021-03-05 04:54:19 +01:00
- [futurerestore 251 (Linux) ](https://github.com/LukeeGD/futurerestore ) (A7)
2020-09-15 05:56:58 +02:00
- [futurerestore 245 (macOS) ](https://github.com/MatthewPierson/Vieux/blob/master/resources/bin/futurerestore ) (A7)
2019-11-21 16:48:05 +01:00
- [kloader ](https://www.youtube.com/watch?v=fh0tB6fp0Sc )
2020-04-01 14:12:36 +02:00
- [kloader5 for iOS 5 ](https://mtmdev.org/pmbonneau-archive )
- [kloader_hgsp for iOS 10 ](https://twitter.com/nyan_satan/status/945203180522045440 )
2020-08-16 13:25:32 +02:00
- [partial-zip ](https://github.com/matteyeux/partial-zip )
2020-07-23 02:56:03 +02:00
- 32-bit iBSS patches are from [OdysseusOTA ](https://www.youtube.com/watch?v=Wo7mGdMcjxw ), [OdysseusOTA2 ](https://www.youtube.com/watch?v=fh0tB6fp0Sc ), [alitek12 ](https://www.mediafire.com/folder/b1z64roy512wd/FirmwareBundles ), [gjest ](https://files.fm/u/fcbqqdnw )
- A7 iBSS and iBEC patches are from [MatthewPierson ](https://github.com/MatthewPierson/iPhone-5s-OTA-Downgrade-Patches )