2015-01-19 1 views
0

Я работаю над реализацией MDM для iOS. Я хочу знать, есть ли какая-либо команда, с помощью которой мы можем узнать, внедрено ли устройство iOS или взломали?iOS MDM: Можем ли мы узнать, укоренено ли устройство или взломали?

Я видел ссылку на протокол MDM, и я не нашел ни одного поля в команде DeviceInformation, чтобы это узнать.

Как сервер может знать этот статус с устройства?

+0

Возможный дубликат: http://stackoverflow.com/questions/413242/how-do-detect-that-an-ios-app-is-running-on-a-jailbroken-phone и http://stackoverflow.com/questions/1140856/determining-if-an-iphone-is-jail-broken-programatically – KlimczakM

+0

Возможный дубликат [Как определить, что приложение iOS запущено на телефонном телефоне с джейлбрейком?] (https: // stackoverflow.com/questions/413242/how-do-detect-that-an-ios-app-is-running-on-a-jailbroken-phone) –

ответ

0

В протоколе Apple MDM нет способа проверить, повреждено ли устройство. Поставщики MDM обычно придумают для этого свое решение.

0

Вы можете искать Cydia (или подобные приложения) с NSFileManager. И вы должны проверить, есть ли у вас доступ к bash на телефоне. Вы можете попробовать что-то вроде этого:

- (BOOL) isJailbroken 
{  
    //If the app is running on the simulator 
#if TARGET_IPHONE_SIMULATOR 
    return NO; 

    //If its running on an actual device 
#else 
    BOOL isJailbroken = NO; 

    //This line checks for the existence of Cydia 
    BOOL cydiaInstalled = [[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"]; 

    FILE *f = fopen("/bin/bash", "r"); 

    if (!(errno == ENOENT) || cydiaInstalled) { 

     //Device is jailbroken 
     isJailbroken = YES; 
    } 
    fclose(f); 
    return isJailbroken; 
#endif 
} 

Этот код на самом деле не проверен .. дайте мне знать, если он сработает.

+0

Спасибо за ответ. –

+0

На самом деле, я использую MDM-сервер, используя inbuit MDM-клиент iOS. Я не внедряю приложение iOS MDM. Итак, я хочу спросить, есть ли какая-либо команда, которую я пошлю на устройство с сервера в форме .plist, а встроенный клиент MDM-устройства вернет флаг, который будет указывать, является ли устройство взломанным? –