9 October 2015

Установка неподписанных программ на устройства с iOS 9 без Jailbreak

Information SecurityDevelopment for iOSDevelopment of mobile applications
Tutorial
Дорого дня, уважаемые хабражители!

Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.



Осторожно! Много картинок!

Как извеcтно, Apple разрешили разработчикам, не заплатившим $99 в год за возможность выкладывать приложения в AppStore, тестировать свои собственные программы на реальных устройствах с iOS 9. Раньше эта привилегия была лишь у «проплаченных» разработчиков. Ну и у тех, кто делает jailbreak.

Стало быть, теперь каждый человек, имеющий Apple ID и OS X с установленным Xcode, может стать разработчиком приложений и получить Provision Profile для своего приложения! На этом-то и основан описанный в данной статье метод. Если у тебя, читатель, есть всё вышеперечисленное, то смело иди на developer.apple.com и регистрируйся в качестве разработчика!

Теперь переходим к самому интересному. Запускаем Xcode, открываем настройки и переходим во вкладку «Accounts», где нажимаем на плюсик и вводим данные своего Apple ID. Теперь видим, что добавленный аккаунт является бесплатным участником программы для разработчиков под iOS. Замечательно! Теперь жмём «View Details...».



Вверху видим, что у нас не создан Signing identity, нажимаем на кнопку Create.



Теперь переходим к созданию Provision Profile. Через сайт его создать не выйдет: баг, однако! Но у нас ведь есть Xcode, так что не отчаиваемся, а создаём новый проект. Я выбрал игру, но это не имеет значения.



Bundle ID я задал ru.habr.testapp, это потом пригодится, когда я буду искать этот профайл среди других, а их у меня в системе много. Если у тебя, уважаемый читатель, это первый опыт с Xcode, то будет сильно проще найти нужный профайл.



Что ж, теперь заходим в настройки проекта и видим, что параметр «Team» не установлен. Установим его в наш свежедобавленный аккаунт разработчика!



У меня тут много всякого, но у тебя, читатель, должен быть лишь один аккаунт. Его и выбирай!



Теперь видим, что у нас беда с подписью, ведь нет Provision Profile, но Xcode героически предлагает взять исправление проблемы на себя и «исправить положение вещей». Что ж, позволим ему это сделать: жмём «Fix issue».



Вуаля! Теперь профайл есть, в чём легко убедиться, зайдя опять в свойство аккаунта:



Теперь идём в терминал: ведь нам нужен сам профайл, а он запрятан в хитром месте. Переходим в папку ~/Library/MobileDevice/Provisioning Profiles/ и видим, что у нас там либо бардак (если в системе много профайлов накопилось, у меня их 50 штук), либо порядок (если ты, читатель, являешься новичком в разработке под iOS).



Если же есть сомнения в том, какой именно профайл нам нужен, то можно воспользоваться моим скриптом для поиска «того самого»:



Как видите, bundle id я использовал для поиска профайла.

Что ж, теперь у нас есть аккаунт разработчика и провижн профайл. Что нам теперь нужно? Ах да, нужна программка для переподписания ipa-файла нашим профайлом! Можно попробовать поколдовать с консолью, а можно воспользоваться готовым GUI-решением iModSign. Качаем программу и устанавливаем в /Applications/. Теперь можем запустить её и настроить. Я уже настраивал у себя, так что скриншоты не совсем верные для первого запуска, но я думаю, что ты, читатель, не идиот, так что разберёшься.



Первые две кнопки неактивны, ибо я уже их нажимал. По нажатию на первую устанавливаются command line tools, которые Xcode по умолчанию не ставит, по нажатию на вторую появляется окно выбора сертификата разработчика:



Конечно, у тебя, читатель, должен и здесь быть порядок, не то что у меня, в моей замусоренной системе.

По нажатию на третью кнопку, мы можем выбрать наш найденный профайл.



Ну вот и всё, программа настроена и готова к работе! Что бы нам такое установить?.. Ну, к примеру, BarMagnet для управления торрент-качалками. Качаем .ipa файл и перетаскиваем в iModSign.



Готово для подписания! Жмём на «Start Job».



Заходим теперь в папку iModSigned, находящуюся на рабочем столе. Там видим уже подписанный ipa:



Дабл-клик — и он добавлен в iTunes, и теперь мы можем его установить на девайс. Я тестировал на iPad Air 2 с установленным iOS 9.0.2, ясно дело, никакого Jailbreak для него пока ещё нет.



После синхронизации и установки, которая проходит гладко, можно увидеть BarMagnet на устройстве:



Но он не запустится, можете поверить. А можете и проверить. Но это поправимо, просто наш девайс пока нам же не доверяет. Но мы его научим доверять, зайдя в настройки и подтвердив доверие разработчику:





У меня тут уже доверие включено, но в первый раз это выглядит немного иначе. Но опять же, ты же, читатель, не идиот? Найдёшь там нужную кнопку? Конечно, найдёшь!

Всё, можно запускать программу и радоваться возможности управления всеми своими торрентокачалками прямо с девайса!



Надеюсь, что ты, читатель, не будешь злоупотреблять данным методом и устанавливать игры, скачанные с торрентов. И конечно же, ты понимаешь, что всё написанное — чисто для ознакомления, а я не несу никакой ответственности за возможные последствия для девайса или ещё чего. И я не гарантирую работоспособность метода с последующими версиями iOS и Xcode. И даже с текущими!

Так что будьте осторожны. И берегите себя.
Tags: ios apple jailbreak ipa imodsign mobileprovision iphone ipad
Hubs: Information Security Development for iOS Development of mobile applications
+26
111.3k 422
Comments 33
Ads
Top of the day