From c51f4c2a0c0a29c5905408fd3c6d22d11cdc59e1 Mon Sep 17 00:00:00 2001 From: Micah Gomez Date: Tue, 25 Feb 2020 17:23:34 -0800 Subject: [PATCH] Undone changes for xenhtml update --- .../UserInterfaceState.xcuserstate | Bin 52427 -> 54628 bytes FlashBack/AppDelegate.m | 5 +++- FlashBack/ViewController.m | 6 ++-- FlashBack/main.m | 28 +++++++++--------- 4 files changed, 21 insertions(+), 18 deletions(-) diff --git a/FlashBack.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate b/FlashBack.xcworkspace/xcuserdata/micahgomez.xcuserdatad/UserInterfaceState.xcuserstate index dbb4bedcc07f9c23ed6915b2ddf3afe12f0b1d58..5b37d3b17a89491564d923cc2dc542d991cd9f6f 100644 GIT binary patch delta 19167 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 IoI@G^53^c8KL7v# delta 17868 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 diff --git a/FlashBack/AppDelegate.m b/FlashBack/AppDelegate.m index a1f1585..b961a62 100755 --- a/FlashBack/AppDelegate.m +++ b/FlashBack/AppDelegate.m @@ -17,7 +17,10 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - // Override point for customization after application launch. + setuid(0); + setgid(0); + + // Override point for customization after application launch. [application _setBackgroundStyle:UIBackgroundStyleExtraDarkBlur]; UIColor *barBackground = [UIColor colorWithWhite:0 alpha:0.3]; diff --git a/FlashBack/ViewController.m b/FlashBack/ViewController.m index 5e8067d..44ab4fb 100755 --- a/FlashBack/ViewController.m +++ b/FlashBack/ViewController.m @@ -126,14 +126,14 @@ - (IBAction)restoreBackup:(id)sender { [killPrefsTask setLaunchPath:@"/bin/bash"]; [killPrefsTask setArguments:@[ @"killall", @"cfprefsd"]]; [killPrefsTask launch]; - [killPrefsTask waitUntilExit];*/ + [killPrefsTask waitUntilExit]; NSLog(@"time to respring"); NSTask *respringTask = [[NSTask alloc] init]; - [respringTask setLaunchPath:@"/bin/bash"]; + [respringTask setLaunchPath:@"/bin/"]; [respringTask setArguments:@[ @"killall", @"backboardd"]]; [respringTask launch]; - [respringTask waitUntilExit]; + [respringTask waitUntilExit];*/ [restoreBackupAlert dismissViewControllerAnimated:YES completion:nil]; diff --git a/FlashBack/main.m b/FlashBack/main.m index 344cfef..82a1bf2 100755 --- a/FlashBack/main.m +++ b/FlashBack/main.m @@ -1,17 +1,12 @@ -// -// main.m -// FlashBack -// -// Created by Micah Gomez on 3/27/19. -// Copyright © 2019 Micah Gomez. All rights reserved. -// - #import +#import +#import +#import #import "AppDelegate.h" -#include - #define FLAG_PLATFORMIZE (1 << 1) +// Special thanks to PsychoTea (@IBSparkles) for getting root on kernel patch jailbreaks, as well as for both Electra's and Meridian's "kppless" jailbreakd daemon. + void platformize_me() { void* handle = dlopen("/usr/lib/libjailbreak.dylib", RTLD_LAZY); if (!handle) return; @@ -46,13 +41,18 @@ void patch_setuid() { int main(int argc, char * argv[]) { @autoreleasepool { - if ([[NSFileManager defaultManager] fileExistsAtPath:@"/usr/lib/libjailbreak.dylib"]){ + setuid(0); + + if (getuid() != 0) { + //Gets setuid on Electra + patch_setuid(); platformize_me(); + setuid(0); // electra requires you to call setuid again + } + //Gets setuid on Meridian + if (getuid() != 0) { patch_setuid(); } - - setuid(0); - setgid(0); return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }