2020-07-23 02:47:36 +02:00
# iOS-OTA-Downgrader
### (formerly 32bit-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)
- **Please read the "Other notes" section for 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-01-10 08:27:00 +01:00
- **iPhone 5C and iPad mini 3 devices are NOT supported (OTA versions are not signed)**
- 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 >
< td rowspan = 5 > iOS 8.4.1< / td >
< 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 >
< tr > < td > iPod 5th gen< / td > < / tr >
< 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/ )
- Users in iOS 10 (A6/A6X) must also install Dropbear ([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
## How to use:
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
2020-09-15 05:46:17 +02:00
5. Select option to be used
6. Follow instructions
## Supported OS versions/distros:
2021-01-10 08:27:00 +01:00
- Ubuntu [20.04 ](http://releases.ubuntu.com/focal/ ) and [20.10 ](https://releases.ubuntu.com/groovy/ ); and Ubuntu-based distros like [Linux Mint ](https://www.linuxmint.com/ )
- Ubuntu [16.04 ](http://releases.ubuntu.com/xenial/ ) and [18.04 ](http://releases.ubuntu.com/bionic/ )
- Use 20.04 and newer as older versions are untested
2020-09-15 05:46:17 +02:00
- [Arch Linux ](https://www.archlinux.org/ ) and Arch-based distros like [Manjaro ](https://manjaro.org/ )
- [Fedora 32 to 33 ](https://getfedora.org/ )
2021-01-10 08:27:00 +01:00
- openSUSE [Tumbleweed ](https://software.opensuse.org/distributions/tumbleweed ), [Leap 15.2 ](https://software.opensuse.org/distributions/leap )
- macOS 10.13 to 10.15 (11.x support is unknown)
2020-01-06 15:45:55 +01:00
2020-02-08 16:19:36 +01:00
## Other notes:
2021-01-10 08:27:00 +01:00
- If something in the process does not work for you, try switching USB ports and/or cables (also try using a USB 2.0 port)
- This script will verify the IPSW SHA1 before restoring
2020-08-17 14:31:15 +02:00
- For users having issues related to missing libraries or 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
2020-08-10 16:08:15 +02:00
- For A7 devices:
- 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)
2020-08-10 16:08:15 +02:00
- If the script can't find your device in pwnREC mode or gets stuck, you may have to start over
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.
2020-08-10 16:08:15 +02:00
- For 32-bit devices:
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
2020-07-23 02:56:03 +02:00
- This script can work on virtual machines, but I won't provide support for them
2021-01-10 08:27:00 +01:00
- For jailbreak option:
- If you have problems with Cydia, remove the ultrasn0w repo and close Cydia using the app switcher, then try opening Cydia again
2020-10-22 05:45:48 +02:00
- If you can't find Cydia in your home screen, try accessing Cydia through Safari with `cydia://` and install "Jailbreak App Icons Fix" package ([Cydia repo](https://lukezgd.github.io/repo/))
2021-01-10 08:27:00 +01:00
- For jailbreak option (on iOS 8.4.1 downgrades only):
- Stashing is already enabled and `nosuid` is removed from `fstab` , so no need to install "Stashing for #etasonJB " package
2020-10-22 05:45:48 +02:00
- To fix LaunchDaemons not loading on startup, install "Infigo" package ([Cydia repo](https://lukezgd.github.io/repo/))
- Warning: If your device bootloops with EtasonJB, it may not work with the jailbreak option as well! (I think this applies to some but not all [8942 ](https://www.theiphonewiki.com/wiki/S5L8942 )/[8945](https://www.theiphonewiki.com/wiki/S5L8945) users) If this happens, bootloop protection will trigger and you won't be able to open Cydia
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
2020-07-23 02:47:36 +02:00
- python2
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)
2020-09-02 16:14:36 +02:00
- [futurerestore 251 (Linux) ](https://github.com/LukeZGD/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 )