方法一 判断沙盒是否被破坏
- (int )isJailbroken {
int xx=fork(); //这个函数从这里起,程序被分为两个进程,父和子,子进程,返回0,父进程返回子进程ID,如果执行fork成功,说明沙盒被破坏,说明越狱了
if(!xx)//子进程,关闭他
{
exit(0);
}
if(xx>=0) //父进程,说明越狱
{
return 1;
}
return 0 ;//,没有越狱,返回-1,
}
方法二 检测cydia.app是否存在
struct stat s;
int is_jailbroken=stat("/Applications/Cydia.app", &s);
NSLog(@"-----is_jailbroken=%d----",is_jailbroken);//返回为0说明有Cydia.app,否则-1
或者
struct stat s;
int is_jailbroken=stat("/Library/MobileSubstrate/DynamicLibraries/MobileSubstrate.dylib", &s);
NSLog(@"-----is_jailbroken=%d----",is_jailbroken);
方法3.判断文件大小
struct stat s
stat(“/etc/fstab”,&s);
return s.st_size
网友评论