Code Monkey home page Code Monkey logo

futurerestore's Introduction

futurerestore

futurerestore is a hacked up idevicerestore wrapper, which allows manually specifying SEP and Baseband for restoring.

Only use if you are sure what you're doing.

Latest release available here for macOS & Windows. I'll compile only macOS/Windows versions, Linux version won't be compiled by me.

Features

  • Supports the following downgrade methods:
    • Prometheus 64-bit devices (generator and ApNonce collision mode);
    • Odysseus for 32-bit devices;
    • Re-restoring 32-bit devices to iOS 9 with alitek123 no-ApNonce method (alternative — idevicererestore).
  • Allows restoring any non-matching signed iOS/SEP/Baseband.

NOT recommended to use '-u' parameter, if you update jailbroken firmware!

Dependencies

Report an issue

You can do it here.

Restoring on Windows 10

  1. Try to restore the device, error -8 occurs;
  2. Leave the device plugged in, it'll stay on the Recovery screen;
  3. Head over to device manager under control panel in Windows;
  4. Locate "Apple Recovery (iBoot) USB Composite Device" (at the bottom);
  5. Right click and choose "Uninstall device". You may see a tick box that allows you to uninstall the driver software as well, tick that (all the three Apple mobile device entries under USB devices will disappear);
  6. Unplug the device and re-plug it in;
  7. Go back to futurerestore and send the restore command again (just press the up arrow to get it back, then enter). Error -8 is now fixed, but the process will fail again after the screen of your device has turned green;
  8. Go back to device manager and repeat the driver uninstall process as described above (step 4 to 6);
  9. Go back to futurerestore once again and repeat the restore process;
  10. The device will reboot and error -10 will also be solved;
  11. The restore will now proceed and succeed.

Compiling

Simple use bash autogen.sh && make or use Xcode project. For installing use make install.

Some about cURL

  • Linux: Follow this guide to use tsschecker on Ubuntu 18.04 (Bionic) as it requires libcurl3 which cannot coexist with libcurl4 on this OS.
  • macOS: open file Makefile.am and update line with LDADD: futurerestore_LDADD = $(AM_LDFLAGS) libjssy.a /usr/lib/libcurl.4.dylib

0) What futurerestore can do

Downgrade/Upgrade/Re-restore same iOS. Whenever you read "downgrade" nowadays it means you can also upgrade and re-restore if you're on the same iOS. Basically this allows restoring an iOS and the installed iOS doesn't matter.


1) Prometheus (64-bit device) - generator method

Requirements

  • Jailbreak;
  • Signing tickets (.shsh2) files with a generator;
  • nonceEnabler patch enabled (on iOS 11 and later it's enabled automatically);

How to use

  1. Device must be jailbroken and nonceEnabler patch must be active;
  2. Open signing ticket and look up the generator:
  • Looks like this: <key>generator</key><string>0xde3318d224cf14a1</string>;
  1. Write the boot-nonce generator to device's nvram (latest jailbreaks'll (for iOS 11+) unlocking nvram after setting boot-nonce):
  • SSH into the device and run nvram com.apple.System.boot-nonce=0xde3318d224cf14a1 to set the boot-nonce generator 0xde3318d224cf14a1;
  • verify with nvram -p command

Recommended methods to activate nonceEnabler patch

Method 1: ios-kern-utils (iOS 7.x-10.x):

  1. Install DEB-file of ios-kern-utils on device;
  2. Run on the device nvpatch com.apple.System.boot-nonce.

Method 2: Using special applications

Use utilities for setting boot-nonce generator:

  1. PhœnixNonce for iOS 9.x;
  2. v0rtexnonce for iOS 10.x;
  3. Nonceset1112 for iOS 11.0-11.1.2;
  4. noncereboot1131UI for iOS 11.0-11.4b3;
  5. NonceReboot12xx for iOS 12.0-12.1.2.

Method 3: Using jailbreak tools

Use jailbreak tools for setting boot-nonce generator:

  1. Meridian for iOS 10.x;
  2. backr00m or greeng0blin for tvOS 10.2-11.1;
  3. Electra and ElectraTV for iOS and tvOS 11.x;
  4. unc0ver for iOS 11.0-12.1.2;
  5. Chimera and ChimeraTV for iOS 12.0-12.1.2 and tvOS 12.0-12.1.1.

Activate tfp0 if jailbreak doesn't allow it

Method 1 (if jailbroken on 9.2-9.3.x)

Method 2 (if jailbroken on iOS 8.0-8.1 with Pangu8)

Method 3 (if jailbroken on iOS 7.x with Pangu7)

Method 4


2) Prometheus (64-bit device) - ApNonce collision method (Recovery mode);

Requirements

  • iPhone 5s, iPad Air, iPad mini 2 (devices with A7 chip) on iOS 9.2 — 10.2 (10.3b1);
  • Jailbreak doesn't required;
  • Signing tickets (.shsh, .shsh2) with customly chosen ApNonce;
  • Ticket needs to have one of the ApNonces, which the device generates a lot;
  • collisioned ApNonces available in file 'nonces.txt' in TSSChecker project.

How to use

  1. Connect your device in normal / recovery mode;
  2. On the computer run futurerestore -w -t ticket.shsh --latest-baseband --latest-sep ios.ipsw.
  • If you have saved multiple tickets with different ApNonces you can specify more than one to speed up the process: futurerestore -w -t t1.shsh -t t2.shsh -t t3.shsh -t t4.shsh --latest-baseband --latest-sep ios.ipsw.

3) Prometheus (64-bit device) - ApNonce collision method (DFU mode);

Requirements

  • Devices with A7 (iPhone 5s, iPad Air, iPad mini 2), A8 (iPhone 6 [+], iPad mini [2,3,4], iPod touch [6th generation]) and A8X (iPad Air 2) chips on all iOS firmwares;
  • Devices have been released after ~September, 2015;
  • Jailbreak doesn't required;
  • Signing tickets (.shsh, .shsh2) with customly chosen ApNonce;
  • Ticket needs to have one of the ApNonces, which the device generates a lot;
  • img4tool can't be used for Windows [problem with signing iBSS/iBEC], now it's TO-DO;
  • collisioned ApNonces available in file 'nonces.txt' in TSSChecker project.

How to use

  1. Connect your device in DFU mode;

  2. Use irecovery for checking ApNonce, which booted in DFU;

  3. Extract iBSS/iBEC from target firmware for downgrade (unsigned);

  4. Check DFU-collisioned ApNonces with irecovery, which booted in DFU. You can't automatically collision DFU ApNonces.

    If ApNonce is not collisioned, "use hands" for DFU booting.

    If ApNonce is successfully coliisioned, use this SHSH2 for sign iBSS/iBEC.

  5. Use img4tool for sign iBSS: img4tool -s ticket.shsh -c iBSS.signed -p <original_iBSS>;

  6. Use img4tool for sign iBEC: img4tool -s ticket.shsh -c iBEC.signed -p <original_iBEC>;

  7. So, after signing we can boot into Recovery with irecovery:

    irecovery -f iBSS.signed - loading iBSS;

    irecovery -f iBEC.signed - loading iBEC;

  8. So good! On the computer run futurerestore -t ticket.shsh --latest-baseband --latest-sep -w ios.ipsw.


4) Odysseus (32-bit devices)

Requirements

  • futurerestore compiled with libipatcher (Odysseus method support);
  • Jailbreak or bootROM exploit (limera1n);
  • Firmware keys for the device/destination iOS must be public;
  • Signing tickets (.shsh, .shsh2) for the destination iOS (OTA blobs work too!);
  • Odysseus bundle (You can use any successfully created bundle for this).

How to use

  1. Get device into kDFU/pwnDFU mode:
  • limera1n devices:
    • Enter pwnDFU mode with redsn0w or any other tool;
  • Other 32-bit devices:
    • Jailbreak required;
    • Enter kDFU mode by loading a pwnediBSS from any existing Odysseus bundle.
  1. Connect your device to computer in kDFU / pwnDFU mode;
  2. On the computer run futurerestore --use-pwndfu -t ticket.shsh --latest-baseband ios.ipsw

5) iOS 9 Re-restore bug (found by @alitek123, 32-bit devices only):

Requirements

  • Jailbreak doesn't required;
  • Signing tickets (.shsh, .shsh2) without a ApNonce (noNonce APTickets);

Info

If you have signing tickets for iOS 9.x which do not contain an ApNonce, you can restore to that firmware.

How to use

  1. Connect your device in DFU mode;
  2. On the computer run futurerestore -t ticket.shsh --latest-baseband ios9.ipsw

Credits

Creator of original project - tihmstar.

ReadMe updated on:

    2019-07-02

futurerestore's People

Contributors

encounter avatar geosn0w avatar matteyeux avatar nikias avatar phukit avatar s0uthwest avatar tihmstar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

futurerestore's Issues

No Odysseus support for Windows?

Any chance you could compile a version with Odysseus support (i.e. with libipatcher) for Windows? The current releases don't have it, thus Oddysseus downgrade methods cannot be used on Windows machines. (I tried connecting my kDFU iPhone 4S to my Mac VM to use the Mac version, but it refused to connect - a Windows version would be much appreciated!)

Unable to connect to recovery device

I tried to restore an iPad 4 from 10.3.3 to 10.2 with futurerestore but I got errorcode=-94. Here's the log:

Version: b8af2bc - 231
Libipatcher version: 61bd2d642245874aded5acb2df7cba3e815e85f6 - 61
Odysseus Support: yes
[INFO] 32-bit device detected
futurerestore init done
reading ticket /Users/cuin/Desktop/Restore/SHSH/iPad 4/4138000995211_iPad3,6_10.2-14C92.shsh2 done
Found device iPad3,6 p103ap
Did set SEP+baseband path and firmware
[WARNING] Failed to read BasebandGoldCertID from device! Is it already in recovery?
[WARNING] Using tsschecker's fallback BasebandGoldCertID. This might result in invalid baseband signing status information
[WARNING] Failed to read BasebandSerialNumber from device! Is it already in recovery?
[WARNING] Using tsschecker's fallback BasebandSerialNumber size. This might result in invalid baseband signing status information
[TSSC] opening /Users/cuin/Desktop/Restore/ip/BuildManifest.plist
[TSSR] User specified to request only a Baseband ticket.
Request URL set to https://gs.apple.com/TSS/controller?action=2
Sending TSS request attempt 1... response successfully received
Found device in DFU mode
requesting to get into pwnRecovery later
Found device in DFU mode
Identified device as p103ap, iPad3,6
Extracting BuildManifest from IPSW
Product Version: 10.2
Product Build: 14C92 Major: 14
Device supports Image4: false
checking APTicket to be valid for this restore...
Verified ECID in APTicket matches device ECID
[WARNING] skipping ramdisk hash check, since device is in pwnDFU according to user
Variant: Customer Erase Install (IPSW)
This restore will erase your device data.
Extracting iBSS.p103.RELEASE.dfu...
iBoot32Patch: iBoot-3406 inputted.
patch_rsa_check: Entering...
find_bl_verify_shsh_generic: Entering...
find_bl_verify_shsh_generic: Found LDR instruction at 0x105bc
find_bl_verify_shsh_generic: Found BL verify_shsh at 0x10b94
find_bl_verify_shsh_generic: Leaving...
patch_rsa_check: Patching BL verify_shsh at 0x10b94...
patch_rsa_check: Leaving...
iBoot32Patch: Quitting...
Extracting iBEC.p103.RELEASE.dfu...
iBoot32Patch: iBoot-3406 inputted.
iBoot32Patch: iOS 10 iBoot detected, patching remote command!
patch_remote_boot: Entering...
patch_remote_boot: debug-uarts string is at 0x3baa6
patch_remote_boot: dst is at 0x1fbcc
patch_ticket_check: Entering...
patch_ticket_check: Found iBoot baseaddr 0xbff00000
patch_ticket_check: Found iboot_vers_str at 0x280
patch_ticket_check: Found str_pointer at 0x328
patch_ticket_check: Found iboot_str_3_xref at 0x3b68c
patch_ticket_check: Found ldr_intruction at 0x3b616
patch_ticket_check: Found last_good_bl at 0x3b61e...
patch_ticket_check: Found next_pop at 0x3b680...
patch_ticket_check: Found next_pop at 0xbff3b680...
patch_ticket_check: Found last_branch at 0x3b66a...
patch_ticket_check: Patching in mov.w r0, #0 at 0x3b622...
patch_ticket_check: Patching in mov.w r1, #0 at 0x3b626...
patch_ticket_check: NOPing useless stuff at 0x3b62a to 0x3b66c ...
patch_ticket_check: Leaving...
patch_rsa_check: Entering...
find_bl_verify_shsh_generic: Entering...
find_bl_verify_shsh_generic: Found LDR instruction at 0x17cd4
find_bl_verify_shsh_generic: Found BL verify_shsh at 0x18394
find_bl_verify_shsh_generic: Leaving...
patch_rsa_check: Patching BL verify_shsh at 0x18394...
patch_rsa_check: Leaving...
iBoot32Patch: Quitting...
Sending iBSS (160012 bytes)...
[==================================================] 100.0%
Sending iBEC (303372 bytes)...
[==================================================] 100.0%
[Error] ERROR: Unable to connect to recovery device
Done: restoring failed.
Failed with errorcode=-94

FaceID is not available

My device iPhoneXR 12.0.1 use Futurerestore(v231) to successfully restore to 12.1.1 (beta3), but faceid is not available, is there a way to solve this situation?
Baseband.bbfw version is : 12.3.1
sep.im4p version is : 12.3.1
BuildManifest.plist version is : 12.3.1
help me plz

Failing to fetch SE firmware

Hi! I've helped numerous people on the r/jailbreak Discord server with futurerestoring their devices. Recently, I've seen an error, with iPhone 8+s specifically, where upon trying to fetch the SE ticket, it fails. The TSS request fails with this error:

Sending TSS request attempt 1... TSS server returned: STATUS=94&MESSAGE=This device isn't eligible for the requested build.

This message leads me to believe that idevicerestore could possibly be requesting the SE ticket from the wrong firmware - possibly an unsigned one.

I looked through idevicerestore's code, and I thought the error might be around this line. Is there anything you can possibly do about this?

Futurestore error on iPhone 5s and iPhone 7

Hi after 12.4 jaibreak came out I tried to restore to iOS 10 on my 5s I have saved blobs but I get message FDR 0x7ffbc5652f50 waiting for message and does not complete restore
Same kind of message appears when I restore Iphone 7 to 12.4 but restore is successful
I am using Mac futurerestore
This is log from futurestore on my iPhone 7 which I just did now
And log from 5s
future restore error5s.zip
futurestore.zip

receiving proxy payload failed

Hi,
I followed this repo for downgrading my iPad. And there's some error messages I think might be related with this project.
These messages are something like this one:

ERROR: FDR 0x7fccdf765900 receiving proxy payload failed: Operation now in progress
ERROR: Unable to receive message from FDR 0x7fccdf765900 (-2). 0/2 bytes

You can see full log from this Issue. Could you please help to check? Thanks.

Getting this issue when trying to downgrade from 13.2 to 13.1.2 which is signed

[INFO] 64-bit device detected
futurerestore init done
reading signing ticket /Users/chloee/Documents/Checkm8/7433532640839738_iPhone10,6_d221ap_13.1.2-17A861_27325c8258be46e69d9ee57fa9a8fbc28b873df434e5e702a8b27999551138ae.shsh2 is done
Found device iPhone10,6 d221ap
user specified to use latest signed SEP (WARNING, THIS CAN CAUSE A NON-WORKING RESTORE)
[TSSC] opening firmware.json
[DOWN] downloading file https://api.ipsw.me/v2.1/firmwares.json/condensed
[TSSC] selecting latest iOS: 13.2
[TSSC] got firmware URL for iOS 13.2 build 17B84
[TSSC] opening Buildmanifest for iPhone10,6_13.2
PKKK??ި?[Error] [LFZP] failed to open URL
[Error] couldn't get buildmanifest of latest firmware
[Error] Fail code=-22
Failed with errorcode=-22
Chloees-MacBook-Pro:~ chloee$

Cant compile on Ubuntu 19.04

I have been trying to compile futurerestore on Ubuntu MATE 19.04 and it gives me these errors

alex@00p513:/ios/futurerestore$ ./autogen.sh
libtoolize: putting auxiliary files in '.'.
libtoolize: linking file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt
obsolete.m4'
configure.ac:31: installing './compile'
configure.ac:15: installing './missing'
futurerestore/Makefile.am: installing './depcomp'
~/ios/futurerestore/external/idevicerestore ~/ios/futurerestore
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/ios/futurerestore
~/ios/futurerestore/external/img4tool ~/ios/futurerestore
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/ios/futurerestore
~/ios/futurerestore/external/tsschecker ~/ios/futurerestore
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/ios/futurerestore
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking whether we need platform-specific build settings... checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for library containing pthread_create... -lpthread
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libplist... yes
checking for libzip... yes
checking for libimobiledevice... yes
checking for libirecovery... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
Package libipatcher was not found in the pkg-config search path.
Perhaps you should add the directory containing `libipatcher.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libipatcher' found
checking whether to enable WIN32 specific flags... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @file support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating futurerestore/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in external/idevicerestore (/home/alex/ios/futurerestore/external/idevicerestore)
configure: WARNING: no configuration information is in external/idevicerestore
=== configuring in external/img4tool (/home/alex/ios/futurerestore/external/img4tool)
configure: WARNING: no configuration information is in external/img4tool
=== configuring in external/tsschecker (/home/alex/ios/futurerestore/external/tsschecker)
configure: WARNING: no configuration information is in external/tsschecker

Configuration for futurerestore 1.0:

Install prefix ..........: /usr/local
With libipatcher ........: no
Now type 'make' to build futurerestore 1.0,
and then 'make install' for installation.

alex@00p513:/ios/futurerestore$ make
make all-recursive
make[1]: Entering directory '/home/alex/ios/futurerestore'
Making all in external/idevicerestore
make[2]: Entering directory '/home/alex/ios/futurerestore/external/idevicerestore'
make[2]: *** No rule to make target 'all'. Stop.
make[2]: Leaving directory '/home/alex/ios/futurerestore/external/idevicerestore'
make[1]: *** [Makefile:420: all-recursive] Error 1
make[1]: Leaving directory '/home/alex/ios/futurerestore'
make: *** [Makefile:352: all] Error 2
alex@00p513:
/ios/futurerestore$ make install
Making install in futurerestore
make[1]: Entering directory '/home/alex/ios/futurerestore/futurerestore'
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/include/libusb-1.0 -I../external/tsschecker/external/jssy/jssy -I../external/tsschecker/tsschecker -I../external/img4tool/img4tool -I../external/idevicerestore/src -std=c++11 -g -O2 -MT futurerestore-futurerestore.o -MD -MP -MF .deps/futurerestore-futurerestore.Tpo -c -o futurerestore-futurerestore.o test -f 'futurerestore.cpp' || echo './'futurerestore.cpp
In file included from futurerestore.cpp:15:
futurerestore.hpp:16:10: fatal error: idevicerestore.h: No such file or directory
#include "idevicerestore.h"
^~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:474: futurerestore-futurerestore.o] Error 1
make[1]: Leaving directory '/home/alex/ios/futurerestore/futurerestore'
make: *** [Makefile:420: install-recursive] Error 1
alex@00p513:~/ios/futurerestore$

[Help] Stuck on “Waiting for Device...”

So as title said, everything goes well, but after the green screen the Apple Logo came out and my iPhone will stuck there until I hard reset It.

FutureRestore seems to be not able to connect in Restore Mode, It reaches up to 180 attempts and after fails.

I m using an MacBook Pro 2011 with MacOS 10.13.3 (High Sierra). I actually heard that FutureRestore is not compatibile with High Sierra or below is that true?
Following is a txt file with debug log.
log-2.txt

EDIT: FutureRestore v231, iPhone 6s (iPhone8,1) 11.3.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.