Gibt es eine Möglichkeit, Jailbreak -Erkennungs -App auf iOS -Gerät zu testen?IOS

Programmierung für iOS
Anonymous
 Gibt es eine Möglichkeit, Jailbreak -Erkennungs -App auf iOS -Gerät zu testen?

Post by Anonymous »

Ich implementieren bereits eine Jailbreak -Erkennung in nativem iOS in AppDelegate.m < /p>
+ (BOOL)isJailbroken
{
#if !(TARGET_IPHONE_SIMULATOR)

if (@available(iOS 14.0, *)) {
if ([NSProcessInfo processInfo].isiOSAppOnMac)
{
return NO;
}
}
FILE *file = fopen("/Applications/Cydia.app", "r");
if (file) {
fclose(file);
return YES;
}
file = fopen("/Library/MobileSubstrate/MobileSubstrate.dylib", "r");
if (file) {
fclose(file);
return YES;
}
file = fopen("/bin/bash", "r");
if (file) {
fclose(file);
return YES;
}
file = fopen("/usr/sbin/sshd", "r");
if (file) {
fclose(file);
return YES;
}
file = fopen("/etc/apt", "r");
if (file) {
fclose(file);
return YES;
}
file = fopen("/usr/bin/ssh", "r");
if (file) {
fclose(file);
return YES;
}

NSFileManager *fileManager = [NSFileManager defaultManager];

if ([fileManager fileExistsAtPath:@"/Applications/Cydia.app"]) {
return YES;
} else if ([fileManager fileExistsAtPath:@"/Library/MobileSubstrate/MobileSubstrate.dylib"]) {
return YES;
} else if ([fileManager fileExistsAtPath:@"/bin/bash"]) {
return YES;
} else if ([fileManager fileExistsAtPath:@"/usr/sbin/sshd"]) {
return YES;
} else if ([fileManager fileExistsAtPath:@"/etc/apt"]) {
return YES;
} else if ([fileManager fileExistsAtPath:@"/usr/bin/ssh"]) {
return YES;
}

// Check if the app can access outside of its sandbox
NSError *error = nil;
NSString *string = @".";
[string writeToFile:@"/private/jailbreak.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!error) {
[fileManager removeItemAtPath:@"/private/jailbreak.txt" error:nil];
return YES;
}

// Check if the app can open a Cydia's URL scheme
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]) {
return YES;
}

#endif

return NO;
}

if([AppDelegate isJailbroken]){
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Jailbreak detected."
message:@"This app is not supported on jailbroken devices. Please restore your device and reinstall the application."
delegate:NULL
cancelButtonTitle:@"OK"
otherButtonTitles:NULL, nil];
[alertView show];
return FALSE;
}

< /code>
Während der Pentest hat die Jailbreak -Erkennung in meiner App nicht funktioniert. Ich möchte alternative Methoden ausprobieren und jeweils testen, aber ich bin mir nicht sicher, wie man die Jailbreak -Erkennung auf einem iOS -Gerät oder -Simulator richtig testet. Oder bessere Möglichkeiten, um mit der Jailbreak -Erkennung umzugehen?
Schätzen Sie einen Rat!>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post