Tôi đã sử dụng số JailBreak detection này trong một dự án của mình.
Với điều này, bạn có thể ngăn chặn khả năng.
if ([DTTJailbreakDetection isJailbroken]) {
// your custom activity and business logic here
}
Ngoài ra, Trong chính xác bạn có thể sử dụng dưới đây snippet:
BOOL isJailbroken()
{
#if !(TARGET_IPHONE_SIMULATOR)
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/MobileSubstrate.dylib"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/usr/sbin/sshd"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/etc/apt"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/private/var/lib/apt/"] ||
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]) {
return YES;
}
FILE *f = NULL ;
if ((f = fopen("/bin/bash", "r")) ||
(f = fopen("/Applications/Cydia.app", "r")) ||
(f = fopen("/Library/MobileSubstrate/MobileSubstrate.dylib", "r")) ||
(f = fopen("/usr/sbin/sshd", "r")) ||
(f = fopen("/etc/apt", "r"))) {
fclose(f);
return YES;
}
fclose(f);
NSError *error;
NSString *stringToBeWritten = @"This is a test.";
[stringToBeWritten writeToFile:@"/private/jailbreak.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error];
[[NSFileManager defaultManager] removeItemAtPath:@"/private/jailbreak.txt" error:nil];
if(error == nil)
{
return YES;
}
#endif
return NO;
}
Ngoài ra, Obfuscation trong iOS - Mục tiêu C bạn có thể sử dụng open source-library này và cho Methods & Classes.
Thông thường tôi sẽ nghĩ dọc theo dòng của tạo checksum MD5 trên các tập tin. Sau đó bạn kiểm tra định kỳ để xem liệu chúng có thay đổi không. Vì IOS tất cả các ứng dụng đều có hộp cát, tôi nghi ngờ bạn có thể truy cập bất kỳ tệp nào (bên ngoài ứng dụng của bạn). – Roger
http://stackoverflow.com/questions/413242/how-do-i-detect-that-an-ios-app-is-running-on-a-jailbroken-phone –
* Pekka 웃 * cung cấp cho bạn liên kết đến một câu hỏi tương tự phổ biến vào ngày 1 tháng 12 '16. Ngày hôm sau, vào ngày 2 tháng 12 '16, * itechnician * copy-paste một câu trả lời một tuổi từ câu hỏi tương tự KHÔNG CÓ TÍN DỤNG TÁC GIẢ, và bạn đã cấp cho nó một khoản tiền thưởng 100 đô? –