futurerestore

From The iPhone Wiki
Revision as of 02:51, 19 June 2021 by DanTheMann15 (talk | contribs) (Improve Descriptions and Requirements)
Jump to: navigation, search

futurerestore is a tool to downgrade, upgrade, and/or restore to unsigned versions of iOS, iPadOS, and tvOS.
In essence, it’s described as "a hacked up idevicerestore wrapper, which allows manually specifying SEP and baseband for restoring".

Futurerestore
Original author(s) tihmstar
Developer(s) tihmstar, Cryptic, Adam (m1stadev)
Initial release 14 September 2016; 8 years ago
Stable release 194 (macOS, Windows, Linux) / 2 March 2021; 3 years ago
Development status Active
Operating system macOS / Windows / Linux
Available in English
Type Restoring

Requirements

The following are requirements in order to use futurerestore:

  1. A valid saved SHSH blob for your device and firmware version you want to restore to
  2. The IPSW of the target firmware that you want to restore to for your device
  3. A way to set your boot-nonce (see note below)
  4. Compatible SEP and Baseband firmwares for the target firmware for your device

Notes

  • If your device uses an Apple A11 or older, you can use ipwndfu and libirecovery to upload a pwned iBSS and set your boot nonce,
    but all newer devices using an Apple A12 or newer must use a jailbreak to set their boot nonce, as it is entangled with the UID Key.
  • The SEP and Baseband firmware MUST be compatible with the firmware version you are restoring to or the restore will fail.

Usage

There are two main ways to use futurerestore, CLI and GUI.

CLI

Download or Compile Futurerestore for your OS.

Newer test builds are available from the test branch. This may be needed for some A14 devices and Wi-Fi only iPads. In order to get the newer builds, open the test branch link, press on the newest workflow run, scroll down to "artifacts" and choose the one appropriate for your OS

Open a terminal or command prompt, then write in the following command:

/path/to/futurerestore -t /path/to/blob.shsh2 --latest-sep --latest-baseband /path/to/firmware.ipsw -d

Notes

  • While -d is optional, it may be harder to troubleshoot without it, as it gives more information on what's happening.
  • Instead of --latest-sep and --latest-baseband, you can also specify the SEP and baseband you want to use, however it still needs to be signed, and you have to manually download the IPSW and extract it. This is rarely ever necessary, as iOS versions older than the latest are generally unsigned within a week nowadays.

GUI

Download FutureRestore-GUI then select the IPSW and SHSH2 blobs. It's recommended to have "Extra logs" enabled so we can better help diagnose any issues. If you are upgrading or re-restoring, it's ok to turn on "Preserve Data", however make sure to restore rootfs before doing so.

Frgui screenshot.png

Options

futurerestore has several options, these include:

  • -u/--update: This option keeps user data. It should generally not be used when downgrading as it may lead to various issues, including recovery loop.
  • --no-baseband: This option does not flash a baseband. It should only be used for iPods and WiFi-only iPads.
  • --exit-recovery: This option exits the device out of recovery mode.
  • -w/--wait: This option Keeps rebooting the device until the ApNonce matches the APTicket. It's meant for legacy devices on older iOS versions. You have a practically zero chance of hitting a collision on modern devices and iOS versions.