最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

越獄設(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í)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

桂平市| 辰溪县| 新密市| 新和县| 西安市| 甘谷县| 曲阜市| 游戏| 措美县| 洪湖市| 克什克腾旗| 清河县| 台中市| 溧水县| 宜良县| 乳山市| 乌鲁木齐市| 梁山县| 册亨县| 株洲县| 汉阴县| 绥德县| 维西| 灵台县| 襄樊市| 织金县| 华坪县| 江川县| 宝鸡市| 镇沅| 康定县| 盈江县| 石嘴山市| 华蓥市| 阜阳市| 庆云县| 甘德县| 禹城市| 盐亭县| 泊头市| 新乡市|