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)isBreakOutPrison{
    // 方式1.判断是否存在越狱文件
    for (int i = 0; i < 5; i++) {
        if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithUTF8String:examineBreak_Tool_pathes[0]]]){
            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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 我们生活的这个世界,越来越冷漠,人们吝啬于一个微笑,一次伸手相助。有时候我也在问自己,问身边的朋友,这个世界怎...
    余清阅读 213评论 0 0
  • 步骤: 设置数值风洞:把求解域face 设置:YZ 为绝缘,X 开放。让求解域的YZ紧贴元件边缘。求解域X方向设置...
    sanre123阅读 2,663评论 0 1
  • 小儿保健主要穴位 1、身柱 幼儿脏腑娇嫩,功能尚未健全,特别是肺,脾二脏较弱,因此小儿易患感冒,发热,咳嗽,哮喘,...
    Alluer阅读 1,154评论 0 0