IOS判断设备是否已越狱


转自:http://www.cnblogs.com/supercheng/archive/2012/12/05/2804166.html

- (BOOL)isJailbroken { BOOL jailbroken = NO; NSString *cydiaPath = @"/Applications/Cydia.app"; NSString *aptPath = @"/private/var/lib/apt/"; if ([[NSFileManagerdefaultManager] fileExistsAtPath:cydiaPath]) { jailbroken = YES; } if ([[NSFileManagerdefaultManager] fileExistsAtPath:aptPath]) { jailbroken = YES; } return jailbroken; }
判断软件是否被破解应该是就判断有没有加那个key吧?

Info.list

  <key>SignerIdentity</key>

  <string>Apple iPhone OS Application Signing</string> 

转载

正文开始

Umeng统计的Mobclick.h里面已经包含了越狱检测的代码,可以直接使用

/*方法名: * isJailbroken *介绍: * 类方法,判断设备是否越狱,判断方法根据 apt和Cydia.app的path来判断 *参数说明: * 无 * * *

/#pragma mark utils api //类方法,判断当前设备是否已经越狱

+ (BOOL)isJailbroken; //类方法,判断你的App是否被破解

+ (BOOL)isPirated;

apt和Cydia的方式来进行判断的,没看见源码

然后再介绍两种方法来查看是否已经越狱,知其然知其所以然、、、

1. apt

- (BOOL) hasAPT

{

return [[NSFileManager defaultManager] fileExistsAtPath:@"/private/var/lib/apt/"];

}

 

2. system

- (BOOL) successCallSystem

{

return (system("ls") == 0) ? YES : NO;

}

3.

  staticconstchar* jailbreak_apps[] =

    {

        "/Applications/Cydia.app", 

        "/Applications/limera1n.app", 

        "/Applications/greenpois0n.app", 

        "/Applications/blackra1n.app",

        "/Applications/blacksn0w.app",

        "/Applications/redsn0w.app",

        "/Applications/Absinthe.app",

        NULL,

    };

    - (BOOL) isJailBroken

    {

        // Now check for known jailbreak apps. If we encounter one, the device is jailbroken.

        for(inti = 0; jailbreak_apps[i] != NULL; ++i)

        {

            if([[NSFileManagerdefaultManager] fileExistsAtPath:[NSStringstringWithUTF8String:jailbreak_apps[i]]])

            {

                //NSLog(@"isjailbroken: %s", jailbreak_apps[i]);

                returnYES;

            }

        }

        // TODO: Add more checks? This is an arms-race we're bound to lose.

        returnNO;

    }

 

@interface UIDevice (Helper)  
- (BOOL)isJailbroken;  
@end

@implementation UIDevice (Helper)  
- (BOOL)isJailbroken {  
  BOOL jailbroken = NO;  
  NSString *cydiaPath = @"/Applications/Cydia.app";  
  NSString *aptPath = @"/private/var/lib/apt/";  
  if ([[NSFileManager defaultManager] fileExistsAtPath:cydiaPath]) {  
    jailbroken = YES;  
  }  
  if ([[NSFileManager defaultManager] fileExistsAtPath:aptPath]) {  
    jailbroken = YES;  
  }  
  return jailbroken;  
}  
@end

转载于:https://www.cnblogs.com/muyushifang07/p/5207740.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值