У меня есть сертификат разработчика Apple. Я пытаюсь установить свое приложение в /Applications на своем взломанном iPhone, чтобы получить доступ к базе данных SMS.db. Я пробовал несколько различных вариантов использования сертификата без сертификата, но с подписью с помощью ldid и подписи с моим сертификатом распространения iOS App Store. Мое приложение всегда вылетает при запуске, и кажется, что ничего не работает. Если у меня есть сертификат разработчика Apple, как проще всего разместить приложение в /Applications? Должен ли я по-прежнему подписывать ldid? Я использую XCode4, SDK 4.3 и iOS 4.1 на iPhone 4.
Установка приложений на взломанное устройство в приложениях
Ответы (1)
Я провел небольшое исследование по этому поводу для своего собственного приложения, которому требовался доступ ко всей файловой системе на взломанном устройстве. Вы не можете установить свое приложение обычными способами, установив файл .ipa в папку /Applications.
Ваш сбой, скорее всего, связан с песочницей, поэтому он будет выглядеть примерно так:
Jun 2 15:16:10 unknown sandboxd[31] <Notice>: BlueTool(145) deny file-read-metadata /private/var/mobile
Process: BlueTool [145]
Path: /usr/sbin/BlueTool
Load Address: 0x7f000
Identifier: BlueTool
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: BTServer [88]
Date/Time: 2012-06-02 15:16:10.275 -0500
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Backtrace:
0 libsystem_kernel.dylib 0x30604c0c stat + 12
Я решил эту проблему, преобразовав свой пакет .ipa в пакет .deb и установив его через dpkg. Таким образом, вы можете создать любой макет, который вы хотите.
Вот суть решения:
Создайте макет для работы с упаковщиком Debian:
mkdir ./layout
mkdir ./layout/Applications
mkdir ./layout/DEBIAN
chmod 0755 ./layout/DEBIAN
Разархивируйте пакет .ipa:
unzip package.ipa -d ./layout/Applications/MyAppName.app/
Создать файл макета:
cat > ./layout/DEBIAN/control <<EOF
Package: MyAppName
Name: MyAppName
Depends: mobilesubstrate, preferenceloader, libstatusbar
Version: 1.0-0
Architecture: iphoneos-arm
Description: MyAppName application
Maintainer: Me
Author: Me
Section: Tweaks
EOF
chmod 0755 ./layout/DEBIAN/control
Создайте пакет .deb:
<path-to-theos-bin>/dpkg-deb -b ./layout MyAppName.deb
Покажите, что находится внутри только что созданного нами пакета .deb:
<path-to-theos-bin>/dpkg-deb -c ./layout MyAppName.deb
Затем разверните через ssh:
scp MyAppName.deb root@<device-ip>:/var/tmp
ssh root@<device-ip> "dpkg -i /var/tmp/MyAppName.deb"
ssh root@<device-ip> "killall -9 \"SpringBoard\""
person
Yuriy Gettya
schedule
02.06.2012
Приложения в папке
/Applications
НЕ имеют ‹GUID-HERE› между папкой /Applications
и папкой appname.app
. Это просто /Applications/Camera.app
.
- person apple16; 03.06.2012
@Epic_orange: Вы правы, исправлено. Собирал информацию из длинного скрипта
- person Yuriy Gettya; 03.06.2012
+1. Вы можете завершить процесс с помощью
su mobile -c uicache
, вместо того, чтобы полностью убить SpringBoard.
- person Nate; 19.03.2013
/Applications
? Правильно ли настроены права доступа к исполняемому файлу? Сообщается ли журнал сбоев, если вы загружаете приложениеCrashReporter
из Cydia? - person apple16   schedule 03.06.2012