diff --git a/socket/jailbreak.m b/socket/jailbreak.m index 001fe8b..6bb58b5 100644 --- a/socket/jailbreak.m +++ b/socket/jailbreak.m @@ -20,9 +20,6 @@ void status(const char *str) { } void cleanup(void) { - [[NSUserDefaults standardUserDefaults] setObject:@"no" forKey:@"restrap"]; - [[NSUserDefaults standardUserDefaults] synchronize]; - flush_volume("/private/var"); flush_volume("/"); usleep(100000); diff --git a/socket/supporting files/ViewController.m b/socket/supporting files/ViewController.m index 8f9850c..911a2a5 100644 --- a/socket/supporting files/ViewController.m +++ b/socket/supporting files/ViewController.m @@ -110,6 +110,11 @@ - (IBAction)jb:(id)sender { uint32_t flags = JB_FLAG_RESPRING; if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"tweaks"] isEqual:@"yes"]) flags |= JB_FLAG_TWEAKS; if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"restrap"] isEqual:@"yes"]) flags |= JB_FLAG_BOOTSTRAP; + + // Reset restrap before UID escalation (NSUserDefaults breaks as root) + [[NSUserDefaults standardUserDefaults] setObject:@"no" forKey:@"restrap"]; + [[NSUserDefaults standardUserDefaults] synchronize]; + int ret = run_jailbreak(flags); dispatch_async(dispatch_get_main_queue(), ^{