iOS 14 support

This commit is contained in:
marijuanARM 2021-02-13 00:47:30 -06:00
parent 2f0686d355
commit 7cce91cd9f
6 changed files with 13 additions and 11 deletions

2
.gitmodules vendored
View file

@ -3,4 +3,4 @@
url = https://github.com/tihmstar/tsschecker.git
[submodule "external/idevicerestore"]
path = external/idevicerestore
url = https://github.com/tihmstar/idevicerestore.git
url = https://github.com/marijuanARM/idevicerestore.git

View file

@ -1,7 +1,7 @@
# futurerestore
_It is a hacked up idevicerestore wrapper, which allows manually specifying SEP and Baseband for restoring._
Latest compiled version can be found [here](https://github.com/tihmstar/futurerestore/releases).
Latest compiled version can be found [here](https://github.com/marijuanARM/futurerestore/releases).
__Only use if you are sure what you're doing.__
@ -32,10 +32,10 @@ __Only use if you are sure what you're doing.__
Make sure these projects compile on your system (install it's dependencies):
* [jssy](https://github.com/tihmstar/jssy);
* [tsschecker](https://github.com/tihmstar/tsschecker);
* [idevicerestore](https://github.com/tihmstar/idevicerestore)
* [idevicerestore](https://github.com/marijuanARM/idevicerestore)
## Report an issue
You can do it [here](https://github.com/tihmstar/futurerestore/issues).
You can do it [here](https://github.com/marijuanARM/futurerestore/issues).
### Restoring on Windows 10
1. Try to restore the device, error `-8` occurs;

View file

@ -28,8 +28,8 @@ esac
# Checks the flags.
CFLAGS+=" -DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1"
CXXFLAGS+=" -std=c++11"
CFLAGS+=" -std=c11"
CXXFLAGS+=" -std=gnu++11"
CFLAGS+=" -std=gnu11"
AC_DEFUN([AX_UNPRECIOUS], [
m4_define([_AC_PRECIOUS_VARS], m4_bpatsubst(_AC_PRECIOUS_VARS, [$1], []))

@ -1 +1 @@
Subproject commit c97e02e22b9971471db5dcb3b9e02eb30222d6c0
Subproject commit 9b6066ba915684aeff8af3e13ccd7875850dbe53

View file

@ -516,7 +516,7 @@ void futurerestore::enterPwnRecovery(plist_t build_identity, string bootargs){
debug("Waiting for device to disconnect...\n");
cond_wait_timeout(&_client->device_event_cond, &_client->device_event_mutex, 10000);
retassure((_client->mode == &idevicerestore_modes[MODE_UNKNOWN] || (mutex_unlock(&_client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again");
/* retassure((_client->mode == &idevicerestore_modes[MODE_UNKNOWN] || (mutex_unlock(&_client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again"); */
mutex_unlock(&_client->device_event_mutex);
}
@ -954,7 +954,7 @@ void futurerestore::doRestore(const char *ipsw){
debug("Waiting for device to disconnect...\n");
mutex_lock(&_client->device_event_mutex);
cond_wait_timeout(&client->device_event_cond, &client->device_event_mutex, 10000);
retassure((client->mode == &idevicerestore_modes[MODE_UNKNOWN] || (mutex_unlock(&client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again");
/* retassure((client->mode == &idevicerestore_modes[MODE_UNKNOWN] || (mutex_unlock(&client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again"); */
mutex_unlock(&client->device_event_mutex);
debug("Waiting for device to reconnect...\n");
@ -989,13 +989,13 @@ void futurerestore::doRestore(const char *ipsw){
debug("Waiting for device to disconnect...\n");
mutex_unlock(&client->device_event_mutex);
cond_wait_timeout(&client->device_event_cond, &client->device_event_mutex, 10000);
retassure((client->mode == &idevicerestore_modes[MODE_UNKNOWN] || (mutex_unlock(&client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again");
/* retassure((client->mode == &idevicerestore_modes[MODE_UNKNOWN] || (mutex_unlock(&client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again"); */
mutex_unlock(&client->device_event_mutex);
debug("Waiting for device to reconnect...\n");
mutex_unlock(&client->device_event_mutex);
cond_wait_timeout(&client->device_event_cond, &client->device_event_mutex, 10000);
retassure((client->mode == &idevicerestore_modes[MODE_RECOVERY] || (mutex_unlock(&client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again");
/* retassure((client->mode == &idevicerestore_modes[MODE_RECOVERY] || (mutex_unlock(&client->device_event_mutex),0)), "Device did not disconnect. Possibly invalid iBEC. Reset device and try again"); */
mutex_unlock(&client->device_event_mutex);
}

View file

@ -20,6 +20,7 @@ extern "C"{
};
#include <libgeneral/macros.h>
#include <img4tool/img4tool.hpp>
#ifdef HAVE_LIBIPATCHER
#include <libipatcher/libipatcher.hpp>
#endif
@ -100,6 +101,7 @@ using namespace tihmstar;
int main_r(int argc, const char * argv[]) {
int err=0;
printf("Version: " VERSION_COMMIT_SHA " - " VERSION_COMMIT_COUNT "\n");
printf("%s\n",tihmstar::img4tool::version());
#ifdef HAVE_LIBIPATCHER
printf("%s\n",libipatcher::version());
printf("Odysseus for 32-bit support: yes\n");