CADisplayLink
沙盒完整性检查
int result = fork();
if(!result)
exit(0);
if (result>=0) {
//沙盒被破坏,处于越狱环境
}文件系统检测
检查越狱文件是否存在
检查/etc/fstab 文件大小
符号链接检测
分页执行检查
Last updated
int result = fork();
if(!result)
exit(0);
if (result>=0) {
//沙盒被破坏,处于越狱环境
}Last updated
#import <sys/stat.h>
struct stat s;
int is_jailbroken = stat("/Application/Cydia.app", &s) == 0;#import <sys/stat.h>
struct stat s;
stat("/etc/fstab", &s);
s.st_size;struct stat s;
if (lstat("/Applications", &s)!=0) {
if (s.st_mode&S_IFLNK) {
/*设备被越狱*/
exit(-1);
}
}#import <sys/stat.h>
#import <mach/mach_init.h>
#import <mach/vm_map.h>
void *mem = malloc(getpagesize()+15);
void *ptr = (void *)(((uintptr_t)mem+15) & ~0x0F);
vm_address_t pagePtr = (uintptr_t)ptr/getpagesize()*getpagesize();
int is_jailbroken = vm_protect(mach_task_self(), (vm_address_t)pagePtr, getpagesize(), FALSE, VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE) == 0;