iOS判斷用戶是否越獄

由于現(xiàn)在許多蘋果手機都進行了越獄,而我們開發(fā)有時候需要判斷手機是不是進行了越獄。

判斷用戶是不是進行了越獄

+ (BOOL)isPrisonBreak {

? ? BOOLb1 =NO, b2 =NO, b3 =NO, b4 =NO, b5 =NO;

? ? // 常見越獄文件

? ? NSArray*pathArray =@[

?? ? ? ? ? ? ? ? ? ? ? ? ? @"/Applications/Cydia.app",

?? ? ? ? ? ? ? ? ? ? ? ? ? @"/Library/MobileSubstrate/MobileSubstrate.dylib",

?? ? ? ? ? ? ? ? ? ? ? ? ? @"/bin/bash",

?? ? ? ? ? ? ? ? ? ? ? ? ? @"/usr/sbin/sshd",

?? ? ? ? ? ? ? ? ? ? ? ? ? @"/etc/apt"

?? ? ? ? ? ? ? ? ? ? ? ? ? ];

? ? for(inti =0; i < pathArray.count; i++) {

? ? ? ? NSString*path = pathArray[i];

? ? ? ? if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {

? ? ? ? ? ? b1 =YES;

? ? ? ? }

? ? }

? ? // 讀取系統(tǒng)所有的應用名稱

? ? if ([[NSFileManager defaultManager] fileExistsAtPath:@"/User/Applications/"]){

? ? ? ? b2 =YES;

? ? }

? ? if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]) {

? ? ? ? b3 =YES;

? ? }

? ? structstatstat_info;

? ? //使用stat系列函數(shù)檢測Cydia等工具

? ? if(0==stat("/Applications/Cydia.app", &stat_info)) {

? ? ? ? b4 =YES;

? ? }

? ? // 讀取環(huán)境變量

? ? char*checkInsertLib =getenv("DYLD_INSERT_LIBRARIES");

? ? if(checkInsertLib) {

? ? ? ? b5 =YES;

? ? }

? ? return(b1 && b2 && b3 && b4 && b5);

}

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • http://blog.csdn.net/sakulafly/article/details/21159257 判...
    wzf_taker閱讀 2,268評論 0 1
  • 前段時間公司讓做了個對越獄設備的檢測和攔截,下面是綜合自己的開發(fā)和網(wǎng)上一些帖子的總結(jié),總體來說做起來還是比較簡單的...
    Yaso閱讀 9,149評論 3 27
  • 蘋果安全支付機制 蘋果是非常重視安全性的,所以給用戶設計了一套復雜的安全機制。但是很多用戶喜好自由或者是被一些商家...
    X_code_ZH閱讀 2,278評論 0 1
  • 越獄設備打印 (lldb) po [[NSFileManager defaultManager ] fileExi...
    努力_偷懶_的程序員閱讀 3,867評論 0 2
  • 如果你看完書中的所有例子,你很可能已經(jīng)做完你的實驗和在已經(jīng)越獄的iPhone上的研究。因為和許多人一樣,幾乎所有的...
    fishmai0閱讀 17,381評論 2 42

友情鏈接更多精彩內(nèi)容