Распространение неподписанного приложения iPhone для взломанного iPhone без Cydia

Я пытаюсь распространить неподписанный .ipa по протоколу itms-services для взломанного устройства БЕЗ CYDIA. Я просмотрел руководства о том, как создать неподписанное приложение для cydia из: http://www.alexwhittemore.com/developing-jailbroken-iphone-ios-401/, и мне удалось заставить его работать, за исключением опции «Поделиться» в Организаторе. Там написано: Ошибка: проверка кода не удалась ... Но, возможно, проблема не в этом.

Взять папку .app моего приложения и сжать ее до расширения .ipa без подписи сработало, но когда я загружаю свое приложение на свой сервер и пытаюсь загрузить его по протоколу itms-services, индикатор выполнения на устройстве почти приближается к конец и не загружается ....

У кого-нибудь есть опыт в этом?


person Alexei Robsky    schedule 12.03.2012    source источник


Ответы (2)


Извините за пробуждение многовековой ветки, но на всякий случай у кого-то в будущем возникнет этот вопрос:

Протокол itms-services выполняет запросы к двум серверам: oscp.apple.com и другому серверу (о котором вы можете узнать больше на веб-сайте Apple). Серверы проверяют, сгенерировала ли Apple открытые ключи для сертификатов подписи и были ли они отозваны.

Обычно это невозможно обойти, но iPhone проверяет «плохой» ответ. Если он обнаруживает один, он отклоняет приложение. Однако если он не получает ответа, значит, приложение не отклоняется.

Итак, что вы хотите здесь сделать, это, вероятно, создать собственный DNS-сервер, который будет перечислять два сервера Apple как два других сервера. Затем создайте мобильный файл конфигурации, который изменит DNS-сервер iPhone по умолчанию на ваш сервер. После этого приложение должно быть правильно установлено.

person user1522362    schedule 16.09.2012

У меня точно такой же вопрос, как и у вас: я ищу способ распространять приложения iOS для взломанного iPhone без использования Cydia.

itms-services работает, когда я предоставляю действующий профиль обеспечения. Без профиля подготовки он не работает.

Однако одно замечание для вас, Алексей: неподписанное приложение не будет работать на iPhone, даже если это побег из тюрьмы. Вам понадобится как минимум самоподписанное приложение. Джейлбрейк устраняет необходимость в подписи разработчика, одобренной Apple, он вообще не устраняет необходимость в подписи. Вы можете самостоятельно подписать свой код с помощью «ldid -S» на взломанном устройстве. Также существует версия ldid для Mac OS X по адресу http://dl.dropbox.com/u/3157793/ldid

Продолжайте обновлять эту тему по мере вашего прогресса - я сделаю то же самое.

[ИЗМЕНИТЬ]

Можно создать самоподписанный сертификат и использовать его из Xcode. Затем приложение можно установить с помощью команды scp -r.

Затем я вручную создал файл IPA и отправил его через веб-сервер с URL-адресом itms-services. Установка не удалась с сообщением "" Приложение "не может быть установлено в данный момент"

Глядя на консоль, он говорит:

Mar 14 17:31:32 unknown installd[4276] <Error>: developer cert trust result = 5 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 verify_signer_identity: Could not copy validate signature: -402620392 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.AnmaAp/foo_extracted/Payload/App.app Mar 14 17:31:32 unknown com.apple.itunesstored[4272] <Notice>: MobileInstallationInstall: failed with -1 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 install_application: Could not prefligh

Причина в том, что /usr/libexec/installd программа проверяет правильность подписи при установке приложения. Это можно исправить и отключить с помощью таких инструментов, как http://hackulo.us/wiki/AppSync или http://jamesisbored.com/iphone/bootleg), но я бы не пошел по этому пути по двум причинам:

  • Сначала он открывает дверь к любой установке на iPhone.
  • во-вторых, потому что вашему пользователю придется это делать снова после каждого обновления iOS (и доступность патча не гарантируется для будущих версий)

Таким образом, у меня остается два варианта: A / отказаться от этой идеи B / разработать собственный код обхода MISValidateSignatureAndCopyInfo и использовать его временно на время, необходимое для установки моего приложения.

person Sébastien Stormacq    schedule 14.03.2012
comment
Перед попыткой распространения вы проверяли, работает ли приложение при ручной установке на устройстве (используя scp для хранения файлов на устройстве) ?? - person Sébastien Stormacq; 14.03.2012
comment
Спасибо! заметка помогает! И да, я проверил приложение при ручной установке и даже с действующим профилем подготовки. И это работает. Вы знаете, как установить профиль обеспечения без кабеля? - person Alexei Robsky; 14.03.2012
comment
да, просто откройте его на веб-странице и загрузите из Mobile Safari (your_server / file.mobileprovision) - person Sébastien Stormacq; 14.03.2012
comment
Что касается побег из тюрьмы не, эта запись в блоге тоже очень помогла: jeffreysambells.com/posts/2010/06/22/ - person Sébastien Stormacq; 14.03.2012
comment
Если я правильно понял, можно выставить файл .mobileprovision и устройство сможет его установить. После этого вы можете использовать itms-services: // URL_TO_PLIST ... и установить приложение, подписанное в профиле обеспечения. Может работать? - person Alexei Robsky; 14.03.2012
comment
Также с: alexwhittemore.com/developing-jailbroken-iphone-ios-401 Я видел, что в скрипте используется код Mac. Итак, я предполагаю, что приложение все-таки подписано. - person Alexei Robsky; 14.03.2012
comment
давайте выделим случай действительной подписи Xcode (с сертификатом подписки Apple Developer) - в этом случае, да, вы можете открыть профиль мобильного обеспечения из веб-приложения и использовать URL-адрес itms-services для загрузки и установки приложения. Я пробовал, это работает. Другой случай - это самоподписанное приложение для развертывания на устройстве для взлома. Мне не удалось установить приложение с помощью метода url-адреса itms-services. Я получаю сообщение об ошибке, в котором говорится, что приложение не может быть установлено, и нет сообщения об ошибке в консоли. - person Sébastien Stormacq; 14.03.2012
comment
Приложение должно быть либо подписано самоподписанным сертификатом (метод подписи кода Apple), либо помечено ldid -S (см. saurik.com/id/8 для подробностей) - person Sébastien Stormacq; 14.03.2012
comment
Я получаю такое же сообщение об ИТМС-услугах. Можно ли изменить файл mobileprovision таким образом, чтобы он распознал самозаверяющий сертификат? а затем распространять мобильное приложение и самозаверяющее приложение? - person Alexei Robsky; 14.03.2012
comment
О редактировании: не забывайте, что если вы хотите использовать scp, вы должны установить openssh (или любой другой ssh-сервер) на свое устройство. Кроме того, для этого вам понадобится пароль. Но если я хочу установить ipa на устройство, которое мне не принадлежит, и у меня не установлен пароль или ssh? - person Alexei Robsky; 20.03.2012
comment
тогда ваш пользователь должен установить патч installd, чтобы обойти процесс проверки, когда itms-service запускает демон installd. Патч доступен в Cydia. - person Sébastien Stormacq; 21.03.2012