Skip to content

Instantly share code, notes, and snippets.

@JARVIS-AI
Forked from TheRealKeto/FuturerestoreGuide.md
Created July 29, 2020 20:58
Show Gist options
  • Save JARVIS-AI/4de094b15501010f2a80c072183ced0e to your computer and use it in GitHub Desktop.
Save JARVIS-AI/4de094b15501010f2a80c072183ced0e to your computer and use it in GitHub Desktop.
A guide fully covering the process of using Futurerestore to upgrade, downgrade, or re-restore to an unsigned iOS firmware.

Futurerestore Guide

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.

Notes and Hints

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.

Preparation

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.

Finding your SEP and Baseband

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.

Finding your Nonce Generator

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:

  1. Opening your SHSH2 blob from TSSSaver or shsh.host with any kind of text editor.
  2. (On Windows) Press Ctrl + F, or (On macOS) Press Command + 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.

Setting your Nonce Generator

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:

  1. Open your modern jailbreak app.
  2. Find a text field with the words "generator".
  3. Within that region, type in your string that you saved from your SHSH2 blob.
  4. 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.

Upgrading, downgrading, or re-restoring

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.

Automatic SEP and Baseband

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:

  1. Open Command Prompt/Terminal.
  2. Drag Futurerestore from your futurerestore folder onto your terminal, then type -t.
  3. Drag your SHSH2 blob from your futurerestore folder onto your terminal.
  4. Type --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 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.

Manually specifying SEP and Baseband

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:

  1. Open Command Prompt/Terminal.
  2. Drag Futurerestore onto your terminal from your futurerestore folder, then type -t.
  3. Drag your SHSH2 blob from your futurerestore folder onto your terminal.
  4. Type -s, then drag your SEP from your futurerestore folder onto your terminal.
  5. Type -b, then drag your Baseband from your futurerestore folder onto your terminal.
  6. Type -p, then drag your Buildmanifest.plist file from your futurerestore folder onto your terminal.
  7. Type -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 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.

About this Guide

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment