mirror of
https://github.com/tihmstar/futurerestore.git
synced 2025-09-06 02:53:13 +00:00
Compare commits
8 commits
Author | SHA1 | Date | |
---|---|---|---|
|
76ae6df6f9 | ||
|
2f0686d355 | ||
|
a2f7d7218d | ||
|
f47d5e48c0 | ||
|
63c170b9bc | ||
|
88861b6128 | ||
|
4dd98dc56f | ||
|
38b168002b |
13
.github/FUNDING.yml
vendored
Normal file
13
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: [tihmstar]
|
||||
patreon: tihmstar
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
@ -1,3 +1,4 @@
|
|||
AUTOMAKE_OPTIONS = foreign
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
SUBDIRS = external/idevicerestore external/tsschecker futurerestore
|
||||
install installdirs: SUBDIRS = futurerestore
|
||||
|
|
14
README.md
14
README.md
|
@ -88,7 +88,6 @@ Whenever you read "downgrade" nowadays it means you can also upgrade and re-rest
|
|||
---
|
||||
|
||||
## 1) Prometheus (64-bit device) - generator method
|
||||
|
||||
### Requirements
|
||||
- Jailbreak
|
||||
- signing ticket files (`.shsh`, `.shsh2`, `.plist`) with a generator
|
||||
|
@ -109,10 +108,10 @@ You can downgrade, if the destination firmware version is compatible with the **
|
|||
|
||||
### Youtube
|
||||
<a href="http://www.youtube.com/watch?feature=player_embedded&v=BIMx2Y13Ukc" target="_blank"><img src="http://img.youtube.com/vi/BIMx2Y13Ukc/0.jpg" alt="Prometheus" width="240" height="180"/></a>
|
||||
*Prometheus*
|
||||
*Prometheus*
|
||||
|
||||
<a href="http://www.youtube.com/watch?feature=player_embedded&v=UXxpUH71-s4" target="_blank"><img src="http://img.youtube.com/vi/UXxpUH71-s4/0.jpg" alt="Prometheus" width="240" height="180"/></a>
|
||||
*nonceEnabler*
|
||||
*nonceEnabler*
|
||||
|
||||
### Recommended methods to activate nonceEnabler patch
|
||||
#### Method 1: ios-kern-utils (iOS 7.x-10.x)
|
||||
|
@ -126,7 +125,7 @@ Use utilities for setting boot-nonce generator:
|
|||
3. [Nonceset1112](https://github.com/julioverne/NonceSet112) for iOS 11.0-11.1.2;
|
||||
4. [noncereboot1131UI](https://github.com/s0uthwest/noncereboot1131UI) for iOS 11.0-11.4b3;
|
||||
5. [NonceReboot12xx](https://github.com/ur0/NonceReboot12XX) for iOS 12.0-12.1.2;
|
||||
6. [GeneratorAutoSetter](https://github.com/Halo-Michael/GeneratorAutoSetter) for checkra1n jailbreak on iOS / iPadOS 13.x. install it from [Cydia's developer repo](https://halo-michael.github.io/repo/) on device.
|
||||
6. [GeneratorAutoSetter](https://github.com/Halo-Michael/GeneratorAutoSetter) for checkra1n jailbreak on iOS / iPadOS 13.x. Install it from Cydia's developer repo (https://halo-michael.github.io/repo/) on device.
|
||||
|
||||
#### Method 3: Using jailbreak tools
|
||||
Use jailbreak tools for setting boot-nonce generator:
|
||||
|
@ -154,11 +153,10 @@ Use jailbreak tools for setting boot-nonce generator:
|
|||
---
|
||||
|
||||
## 2) Prometheus (64-bit device) - ApNonce collision method (Recovery mode)
|
||||
|
||||
### Requirements
|
||||
- **Device with A7 chip on iOS 9.1 - 10.2 or iOS 10.3 beta 1**;
|
||||
- Jailbreak doesn't required;
|
||||
- Signing ticket files (`.shsh`, `.shsh2`, `.plist`) with a customly chosen APNonce;
|
||||
- Signing ticket files (`.shsh`, `.shsh2`, `.plist`) with a customly chosen ApNonce;
|
||||
- Signing ticket files needs to have one of the ApNonces, which the device generates a lot;
|
||||
|
||||
### Info
|
||||
|
@ -173,7 +171,6 @@ one to speed up the process: `futurerestore -w -t t1.shsh -t t2.shsh -t t3.shsh
|
|||
---
|
||||
|
||||
## 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 firmwares;__
|
||||
- __Devices have been released after ~September, 2015 {PROBABLY};__
|
||||
|
@ -209,7 +206,6 @@ You can downgrade if the destination firmware version, if it is compatible with
|
|||
---
|
||||
|
||||
## 4) Odysseus (32-bit / 64-bit devices)
|
||||
|
||||
### Requirements
|
||||
- futurerestore compiled with libipatcher;
|
||||
- Jailbreak or bootrom exploit (limera1n, checkm8);
|
||||
|
@ -226,7 +222,7 @@ If you have a jailbroken device, you can downgrade to **any** firmware version y
|
|||
* Enter to pwnDFU mode with redsn0w or any other tool
|
||||
* iPhone 4s and later 32-bit devices:
|
||||
* Enter to kDFU mode with kDFU app (cydia: repo.tihmstar.net) or by loading a pwnediBSS from any existing odysseus bundle
|
||||
* Any 64-bit device
|
||||
* Any 64-bit device:
|
||||
* Enter to pwnDFU mode and patch signature check with special fork of [ipwndfu](https://github.com/LinusHenze/ipwndfu_public)
|
||||
2. Connect your device to computer in kDFU mode (or pwnDFU mode)
|
||||
3. On the computer run `futurerestore --use-pwndfu -t ticket.shsh --latest-baseband firmware.ipsw`
|
||||
|
|
|
@ -27,7 +27,7 @@ case $host_os in
|
|||
esac
|
||||
|
||||
# Checks the flags.
|
||||
CFLAGS="-DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1"
|
||||
CFLAGS+=" -DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1"
|
||||
CXXFLAGS+=" -std=c++11"
|
||||
CFLAGS+=" -std=c11"
|
||||
|
||||
|
@ -42,15 +42,15 @@ AC_CONFIG_SRCDIR([futurerestore])
|
|||
|
||||
# Checks the libraries.
|
||||
LIBIPATCHER_REQUIRES_STR="libipatcher >= 61"
|
||||
LIBPLIST_REQUIRES_STR="libplist >= 2.0.0"
|
||||
LIBPLIST_REQUIRES_STR="libplist-2.0 >= 2.2.0"
|
||||
LIBZIP_REQUIRES_STR="libzip >= 0.10"
|
||||
LIBIMOBILEDEVICE_REQUIRES_STR="libimobiledevice-1.0 >= 1.2.1"
|
||||
LIBFRAGMENTZIP_REQUIRES_STR="libfragmentzip >= 47"
|
||||
LIBIRECOVERY_REQUIRES_STR="libirecovery >= 0.2.0"
|
||||
LIBIRECOVERY_REQUIRES_STR="libirecovery-1.0 >= 1.0.0"
|
||||
IMG4TOOL_REQUIRES_STR="libimg4tool >= 162"
|
||||
LIBGENERAL_REQUIRES_STR="libgeneral >= 26"
|
||||
|
||||
PKG_CHECK_MODULES(libplist, libplist >= 2.0.0)
|
||||
PKG_CHECK_MODULES(libplist, $LIBPLIST_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libzip, $LIBZIP_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libimobiledevice, $LIBIMOBILEDEVICE_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libfragmentzip, $LIBFRAGMENTZIP_REQUIRES_STR)
|
||||
|
|
2
external/idevicerestore
vendored
2
external/idevicerestore
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 6c9efbf4ee779d8e77253bd38f368bd11a0e7261
|
||||
Subproject commit c97e02e22b9971471db5dcb3b9e02eb30222d6c0
|
|
@ -9,9 +9,9 @@
|
|||
#ifndef futurerestore_hpp
|
||||
#define futurerestore_hpp
|
||||
|
||||
//make sure WIN32 is defined if compiling for windows
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#ifndef WIN32
|
||||
//make sure WIN32 is defined if compiling for windows
|
||||
#define WIN32
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -101,7 +101,7 @@ int main_r(int argc, const char * argv[]) {
|
|||
int err=0;
|
||||
printf("Version: " VERSION_COMMIT_SHA " - " VERSION_COMMIT_COUNT "\n");
|
||||
#ifdef HAVE_LIBIPATCHER
|
||||
printf("%s\n",libipatcher::version().c_str());
|
||||
printf("%s\n",libipatcher::version());
|
||||
printf("Odysseus for 32-bit support: yes\n");
|
||||
printf("Odysseus for 64-bit support: %s\n",(libipatcher::has64bitSupport() ? "yes" : "no"));
|
||||
#else
|
||||
|
|
Loading…
Reference in a new issue