Futurerestore is a tool that allows users to upgrade, downgrade, or re-restore their iOS device to an unsigned firmware through the use of SHSH2 blobs. This guide will teach you how to use Futurerestore in order to upgrade, downgrade, or re-restore to an unsigned firmware.
Before continuing, keep in mind that this guide is based off of this one, and contains information that can change your device's behavior or even damage it. With that in mind, please read the guide fully, as no one but YOU will be held responsible for any damage caused to your device.
Throughout the entirety of this guide, keep in mind that:
- iOS 13.1.3's SEP and Baseband are NOT compatible with iOS 12.x for all devices. This means that you're NOT able to upgrade, downgrade, or re-restore A10-A12X devices back to iOS 12.x. Attempting to use an incompatible SEP and Baseband will cause Futurerestore to fail.
- iOS 12.4.2's SEP and Baseband are fully compatible with iOS 12.2+ for A7-A9 devices. This means that you're able to upgrade, downgrade, or re-restore to iOS 12.2 through iOS 12.4 without experiencing the "fortnight bug", a bug that causes your device to stop working correctly after 2 weeks prior to using Futurerestore.
- A7-A8X devices are forever downgradable as long as you have a jailbreak with saved blobs, or nonce collisions.
- It's a good practice to put anything you need in a folder named
futurerestore
, which should be created on your desktop as you'll refer to this folder very often. - If you're a Windows user, make sure iTunes and its drivers are correctly installed from Apple's website. This is critial for you as you want to avoid having the Microsoft version of iTunes installed.
- Avoid having a 32-bit system, as it's likely that Futurerestore will not work on said systems.
- If you're planning to restore your device using a backup (after using Futurerestore), make sure to unjailbreak your device before creating a backup by running the "Restore RootFS" option on modern jailbreaks, or using a tool like Succession. This is to ensure that nothing messes up your device during the setup process after using Futurerestore.
To upgrade, downgrade, or re-restore your device using Futurerestore, you'll need a few things, such as:
- Futurerestore's latest release (from s0uthwest's fork)
- Your SHSH2 blobs from either TSSSaver or shsh.host for the version you're upgrading, downgrading, or re-restoring to
- An IPSW from ipsw.me that contains the SEP and Baseband that is compatible with the version you're trying to upgrade, downgrade, or re-restore to
- (Optional) The specific SEP, Baseband and BuildManifest from the IPSW that are compatible with the version you're trying to upgrade, downgrade, or re-restore to
If you're unsure as to which SHSH2 blob you should use, use the one inside the noapnonce
folder in TSSSaver or shsh.host. If that blob doesn't work when using Futurerestore, use blobs with an specific APNonce.
This step is optional , and you don't have to do this unless you're using the "Manually specifying SEP and Baseband" method in order to upgrade, downgrade, or re-restore your device
In order to extract the SEP, Baseband, and BuildManifest from the IPSW you downloaded, use r/Jailbreak's Telegram Bot to find the specific names for these files as they are different through every iOS version.
You can run /sepbb
when using the bot in order to find the correct SEP and Baseband files for your device.
When you have these file names, use extract.me in order to extract your SEP, Baseband and the BuildManifest.plist
file (located near the bottom) from the IPSW you downloaded and put them inside your futurerestore
folder.
SHSH2 blobs are a critial component when using Futurerestore, as they contain an 16-character string, or a nonce generator that will essensially authenticate or allow you to upgrade, downgrade, or re-restore your iOS device to an unsigned firmware.
If you're using blobs that were inside your noapnonce
folder, you can find your nonce generator by:
- Opening your SHSH2 blob from TSSSaver or shsh.host with any kind of text editor.
- (On Windows) Press
Ctrl + F
, or (On macOS) PressCommand + F
, then search for the word "generator".
Next to, or underneath the word "generator", you'll find your nonce generator. If you didn't find your nonce generator, it means that you're using blobs with a specfic APNonce.
These blobs do have a nonce generator, however, it isn't within the blob itself. In order to find your nonce generator for these types of blobs, check the dropdown menus below.
Devices with an A9 chip and below
Try copying the provided APNonce, hit Ctrl + F
or Command + F
and see if it matches with the name of your blob.
APNonce | Generator |
---|---|
603be133ff0bdfa0f83f21e74191cf6770ea43bb | 0xbd34a880be0b53f3 |
352dfad1713834f4f94c5ff3c3e5e99477347b95 | 0x9d0b5b5ff92fff23 |
42c88f5a7b75bc944c288a7215391dc9c73b6e9f | 0x4bb8834ba6444b50 |
0dc448240696866b0cc1b2ac3eca4ce22af11cb3 | 0x698337f5a79c3292 |
9804d99e85bbafd4bb1135a1044773b4df9f1ba3 | 0xedeeb72d7575e360 |
Devices with an A10 chip and above
Try copying the provided APNonce, hit Ctrl + F
or Command + F
and see if it matches with the name of your blob.
APNonce | Generator |
---|---|
15400076bc4c35a7c8caefdcae5bda69c140a11bce870548f0862aac28c194cc | 0xbd34a880be0b53f3 |
833e50b9c6a4fbfbdc51144a60b4cf25be3a0a4742ca2b7bd6f5ec06905443ac | 0x9d0b5b5ff92fff23 |
d8f682df87d812c372491b613d59795a80383f439587c0bb511ccf6865eb87cc | 0x4bb8834ba6444b50 |
Once you have your nonce generator for your blob, create a text docmuent inside your futurerestore
and save it in said document. You'll use this string later.
Your device's NVRAM already contains a nonce generator, however, that needs to change, otherwise the restoration process will fail since the nonce generator of your device needs to match with your SHSH2 blob.
You can use a modern jailbreak tool, such as unc0ver or Chimera, in order to set your nonce generator to your device running a supported firmware.
In order to set your nonce generator:
- Open your modern jailbreak app.
- Find a text field with the words "generator".
- Within that region, type in your string that you saved from your SHSH2 blob.
- Hit "Done", then hit "Jailbreak".
This should change the nonce generator on your device's NVRAM, and you're now ready to use Futurerestore. Note that if you turn off your device, or it powers off for any reason, you will need to set your nonce generator again.
You're finally ready to upgrade, dowgrade, or re-restore using Futurerestore. However, before you begin, note that:
- Failing to disable "Find my iPhone/iPad/iPod" and/or having NO PLS Recovery installed can cause Futurerestore to not upgrade, downgrade, or re-restore your device to an unsigned firmware.
- If your device is put on "Recovery Mode", do not panic. This is entirely normal.
- If you recieve any pop-up from iTunes attempting to update/restore your device, ignore them and close iTunes.
There are 2 ways you can use Futurerestore in order to upgrade, downgrade, or re-restore your device to an unsigned firmware. This guide will explain both.
This method is used when the latest iOS version contains an SEP and Baseband that is fully compatible with the version you're trying to upgrade, downgrade, or re-restore to. This method is consider to be the most common, but can fail if the requirements are not met.
In order to upgrade, downgrade, or re-restore using this method:
- Open Command Prompt/Terminal.
- Drag Futurerestore from your
futurerestore
folder onto your terminal, then type-t
. - Drag your SHSH2 blob from your
futurerestore
folder onto your terminal. - Type
--latest-sep --latest-baseband
, then drag your IPSW from yourfuturerestore
folder onto your terminal.
In the end, your result should look something like this:
$ futurerestore -t [Your SHSH blob] --latest-sep --latest-baseband [IPSW]
For iPods and Wifi-Only iPads, do not specify a baseband:
$ futurerestore -t [Your SHSH blob] --latest-sep --no-baseband [IPSW]
Once you are sure that you have the right command, hit Enter
and the process should begin.
This method is used when the latest iOS version contains an SEP and Baseband that is not compatible with the version you're trying to upgrade, downgrade, or re-restore to.
In order to upgrade, downgrade, or re-restore using this method:
- Open Command Prompt/Terminal.
- Drag Futurerestore onto your terminal from your
futurerestore
folder, then type-t
. - Drag your SHSH2 blob from your
futurerestore
folder onto your terminal. - Type
-s
, then drag your SEP from yourfuturerestore
folder onto your terminal. - Type
-b
, then drag your Baseband from yourfuturerestore
folder onto your terminal. - Type
-p
, then drag yourBuildmanifest.plist
file from yourfuturerestore
folder onto your terminal. - Type
-m
, drag yourBuildmanifest.plist
file (again), then drag your IPSW from yourfuturerestore
folder onto your terminal.
In the end, your result should look something like this:
$ futurerestore -t [Your SHSH blob] -s [SEP] -b [Baseband] -p [BuildmManifest] -m [BuildManifest] [IPSW]
For iPods and Wifi-Only iPads, do not specify a baseband:
$ futurerestore -t [Your SHSH blob] -s [SEP] --no-baseband -p [BuildmManifest] -m [BuildManifest] [IPSW]
Once you are sure that you have the right command, hit Enter
and the process should begin.
If you run into any issues or errors when using Futurerestore, please refer to this, which includes documentation of the most common errors you can encouter when using Futurerestore and how to fix them.
Additionally, you can check out this video in case you want a visual for this guide. Do note that the video focuses on downgrading an A12 device, however the methods used are relatively the same as the ones mentioned here.
This guide was updated on November 3rd, 2019, and continues to be updated. If you have any questions, head over to r/Jailbreak's Discord Server for support under their futurerestore-help channel.
Try the 14.3 method first otherwise u will lose passcode and face id with. He krain