Программа командной строки для взломанного iOS умирает в iPad, но не в iPhone 3G - PullRequest
1 голос
/ 23 сентября 2011

Я пытаюсь создать программу командной строки для запуска в терминале взломанных iOS-устройств.

Для простоты я проверил простой привет мир:

#include <stdio.h>
int main(int argc, char *argv[]) {
  printf("Hello world!\n");
}

Из которых я строю:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/ main.c -o hello

Сгенерированный исполняемый файл отлично работает на iPhone 3G под iOS 4.2.1, но на iPad под 4.3.5 выводит:

Killed: 9

Оба взломаны и могут нормально запускать приложения из Cydia.

Я попытался отладить напрямую на iPad с помощью GDB от Cydia, но GDB завершает работу, когда программа получает сигнал уничтожения.

Для чего стоит программа, которую я действительно пытаюсь построить, это Ledger . Он работает на моем iPhone 3G, но когда я попробовал его на iPad, он выходит из строя, как указано выше.

Есть идеи?

Ответы [ 4 ]

3 голосов
/ 26 марта 2012

Вы должны либо самостоятельно подписать приложение, либо использовать ldid -S, чтобы обмануть загрузчик iOS.

ldid доступно в командной строке на самом iPhone.Здесь также есть бинарный файл Mac OS X http://dl.dropbox.com/u/3157793/ldid.

Другой вариант - установить инструменты iOSOpenDev, которые по умолчанию будут устанавливать все это, поверх Xcode

3 голосов
/ 23 сентября 2011

Используйте theos .Это делает создание чего-либо для взломанных устройств действительно простым.Я считаю, что вы можете использовать шаблон инструмента для приложения командной строки.

2 голосов
/ 22 августа 2012

iOSOpenDev расширяет Xcode и предоставляет шаблоны проектов для разработки под iOS, такие как инструменты командной строки, которые вы пытаетесь создать, а также обработку подписи кода и создания пакетов Debian для Cydia. Стоит посмотреть; для некоторых может быть проще, чем Тео.

0 голосов
/ 05 января 2012

Пожалуйста, укажите код приложения и затем установите его .. оно запустится

...