Futurerestore is a tool that allows iOS devices to upgrade, downgrade, or re-restore to any iOS unsigned firmware, through the usage of SHSH blobs. This guide will teach you on how to use Futurerestore 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 and even damage it. Note that if anything happens to your device, you will be held resposible for the damaged caused.
Before you begin following this guide, keep in mind that:
In order to use Futurerestore to upgrade, dowgrade, or re-restore to your desired unsigned firmware, there are a few things you will need, such as:
Additionally, if you know you have to specify an specific SEP and Baseband, you will need:
.im4w
file containing the boardconfig indentifier of your device. (This is your SEP).bbtw
file containing the iOS version number. (This is your baseband)BuildManifest.plist
file from said IPSW.In order to obtain additional files, you'll have to extract the IPSW. You can use extract.me in order to download additional files without having to extract an IPSW on your system.
Once you have these files, its a good practice to put them inside a folder located on your desktop, named futurerestore
.
Your nonce generator is a 16-character string used by the device's bootloaders in order to authenticate a legitimate restore with Apple, which is why its so critial to have SHSH blobs saved, as they contain this string.
In order to find your nonce generator:
Ctrl + F
, (On macOS) Press Command + F
, then search for the word "generator"Next to, or underneath, you'll find your nonce generator. Copy the 16-character string onto a text file inside your futurerestore
folder, as you will need this string later on.
Now that you have found your nonce generator, its time to specify it on your device NVRAM. In order to specify your nonce generator, you will need a nonce setter.
Nonce setters are often applications somewhat like jailbreaks, but only grant access to your device's NVRAM in order to change your current nonce. There are many nonce setters released supporting many fimrwares. Here's a list of a few released by respected jailbreak developers:
You can install and use a nonce setter that supports your iOS firmware by downloading the application from Cydia, or by sideloading it with Cydia Impactor or ReProvision. Alternatively, modern jailbreaks, such as unc0ver or Chimera, have an option to set your nonce generator on supported firmwares, so you can use your jailbreak tool as well.
In order to set your nonce generator:
Once you've set your nonce generator, you're ready to begin the restoration process. Note that if you power off your device, or it turns off for any given reason, you will need to set your nonce again.
You're finally ready to start using Futurerestore in order to upgrade, downgrade, or re-restore to your desired unsigned firmware. Before you move forward, keep in mind that:
With that out of the way, lets cut to the chase. There are 2 ways you can use Futurerestore in order upgrade, downgrade, or re-restore to an unsigned firmware. This guide will explain both.
This method is used when you are certain that the latest iOS release has an SEP and Baseband that is fully compatible with the version you're trying to upgrade, downgrade, or re-restore to. Often times, this is the most common method used by many.
In order to upgrade, downgrade, or re-restore using this method:
futurerestore
folder onto your terminal, then type -t
.futurerestore
folder onto your terminal.--latest-sep --latest-baseband
, then drag your IPSW from your futurerestore
folder onto your terminal.In the end, your result should look something like this:
$ futurerestore -t [your blob] --latest-sep --latest-baseband [IPSW]
For iPods and Wifi-Only iPads, do not specify a baseband:
$ futurerestore -t [your 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 release has an SEP and Baseband that is not compatible with the version you're trying to upgrade, downgrade, or re-restore to. The neat thing about this is that its similar to the previous method, except there are some alternations.
In order to upgrade, downgrade, or re-restore using this method:
futurerestore
folder, then type -t
.futurerestore
folder onto your terminal.-s
, then drag your SEP from your futurerestore
folder onto your terminal.-b
, then drag your Baseband from your futurerestore
folder onto your terminal.-p
, then drag your Buildmanifest.plist
file from your futurerestore
folder onto your terminal.-m
, drag your Buildmanifest.plist
file (again), then drag your IPSW from your futurerestore
folder onto your terminal.In the end, your result should look something like this:
$ futurerestore -t [your blob] -s [SEP] -b [Baseband] -p [BuildmManifest] -m [BuildManifest] [IPSW]
For iPods and Wifi-Only iPads, do not specify a baseband:
$ futurerestore -t [your 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 during the Futurerestore process, please refer to this, which includes the most common errors you can encouter when using Futurerestore, and how to fix them.
This guide was updated on August 27th, 2019, and continues to be updated with the lastest SEP/Baseband compatiblity and other info.
If you have any questions, head over to r/Jailbreak's Discord Server for support under their futurerestore-help channel.