如何用代码判断iOS 设备是否越狱?
程序员文章站
2022-03-31 10:27:19
如何用代码判断iOS 设备是否越狱?
// 常见越狱文件
const char *examineBreak_Tool_pathes[] = {
"/Ap...
如何用代码判断iOS 设备是否越狱?
// 常见越狱文件 const char *examineBreak_Tool_pathes[] = { "/Applications/Cydia.app", "/Library/MobileSubstrate/MobileSubstrate.dylib", "/bin/bash", "/usr/sbin/sshd", "/etc/apt" }; char *printEnv(void){ char *env = getenv("DYLD_INSERT_LIBRARIES"); return env; }
判断是否越狱的常用集中判断方式:
+ (BOOL)isBreakOut*{ // 方式1.判断是否存在越狱文件 for (int i = 0; i < 5; i++) { if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithUTF8String:examineBreak_Tool_pathes[i]]]){ return YES; } } // 方式2.判断是否存在cydia应用 if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]){ return YES; } // 方式3.读取系统所有的应用名称 if ([[NSFileManager defaultManager] fileExistsAtPath:@"/User/Applications/"]){ return YES; } // 方式4.读取环境变量 if(printEnv()){ return YES; } return NO; }