iPhone是否越獄的檢測方法


今天項目中要用到檢查iPhone是否越獄的方法。

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.

  static const char* 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 ( int i = 0; jailbreak_apps[i] != NULL ; ++i)
         {
             if ([[ NSFileManager defaultManager] fileExistsAtPath:[ NSString stringWithUTF8String:jailbreak_apps[i]]])
             {
                 //NSLog(@"isjailbroken: %s", jailbreak_apps[i]);
                 return YES ;
             }
         }
         
         // TODO: Add more checks? This is an arms-race we're bound to lose.
         
         return NO ;
     }

 

@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

 

僅供參考、、、

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM