欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS判斷是否越獄設(shè)備方法示例

 更新時(shí)間:2018年08月19日 11:35:14   作者:努力偷懶的程序員  
這篇文章主要給大家介紹了關(guān)于iOS判斷是否越獄設(shè)備的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

蘋果是非??粗禺a(chǎn)品的安全性的,所以給用戶設(shè)計(jì)了一套復(fù)雜的安全機(jī)制。這讓喜愛自由,崇尚一切開放的程序員們極度不爽,于是越獄就成了蘋果和黑客們反復(fù)斗法的場所??傮w來說,越獄可以讓我們隨意安裝、共享應(yīng)用,但確實(shí)也降低了設(shè)備的安全性,會(huì)給一些惡意應(yīng)用提供方便之門。

有時(shí)我們的應(yīng)用希望知道安裝的設(shè)備是否已經(jīng)越獄了,顯然,蘋果官方不會(huì)給出解決方案來的,那么我們怎么辦呢?下面來一起看看詳細(xì)的介紹吧

越獄設(shè)備打印  

(lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"/Applications/Cydia.app"]

YES    

 (lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"/private/var/lib/apt"]

YES     

 (lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"/usr/lib/system/libsystem_kernel.dylib"]

NO   

  (lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"Library/MobileSubstrate/MobileSubstrate.dylib"]

YES

(lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"/etc/apt"]

YES

非越獄設(shè)備打印

(lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"/Applications/Cydia.app"]

NO

(lldb)  po [[NSFileManager defaultManager ] fileExistsAtPath:@"/private/var/lib/apt"]

NO

(lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"/usr/lib/system/libsystem_kernel.dylib"]

YES

(lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"Library/MobileSubstrate/MobileSubstrate.dylib"]

NO

(lldb) po [[NSFileManager defaultManager ] fileExistsAtPath:@"/etc/apt"]

NO

根據(jù)上面的打印結(jié)果可以看出要想判斷是否越獄 檢查如下路徑文件是否存在

1、"/Applications/Cydia.app" 存在 越獄

2、"/private/var/lib/apt" 存在 越獄

3、"/usr/lib/system/libsystem_kernel.dylib"  不存在 越獄

4、"Library/MobileSubstrate/MobileSubstrate.dylib" 存在 越獄

5、"/etc/apt" 存在 越獄

- (BOOL)isJailBreak{

 __block BOOL jailBreak = NO;

 NSArray *array = @[@"/Applications/Cydia.app",@"/private/var/lib/apt",@"/usr/lib/system/libsystem_kernel.dylib",@"Library/MobileSubstrate/MobileSubstrate.dylib",@"/etc/apt"];

 [array enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL * _Nonnull stop) {

  BOOL fileExist = [[NSFileManager defaultManager] fileExistsAtPath:obj];

  if ([obj isEqualToString:@"/usr/lib/system/libsystem_kernel.dylib"]) {

   jailBreak |= !fileExist;

  }else{

   jailBreak |= fileExist;

  }

 }];
 return jailBreak;
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論