Как программно установить файл.deb на взломанный iphone?

Я разрабатываю приложение с Xcode для iPhone (взломанный). Теперь я хочу установить файл.deb программно. Как я могу это сделать? Я мог бы выполнить команду, чтобы установить его, но как? Достаточно ли этого, если я установлю свое приложение через Xcode на свой взломанный iPhone? (.ipa) или мне нужно создать.deb? Если да, то как?

Большое спасибо!

Хорошего дня.

редактировать: я сделал приложение. В этом приложении у меня есть файловый браузер (только для каталога документов). В этом каталоге находятся файлы.deb. Теперь я хочу установить эти файлы.deb программно, если пользователь нажмет одну из них. Как мне это сделать?

4 ответа

AFAIK dpkg -i *.deb - это команда для установки.deb. Но вы не можете установить.deb в.deb, потому что менеджер пакетов заблокирован, поэтому вам нужен скрипт или что-то в этом роде.

Много вариантов.

  1. Вы можете узнать исходный код Cydia.(Официальный сайт предоставляет исходный код)
  2. Узнайте исходный код от Icy Github. https://github.com/ripdev/Icy

  3. Простой способ, просто используйте системную функцию для вызова команды dpkg.

NSString *appsyncDebPath=@"/var/root/appsync.deb";
    NSString *cmdString=[NSString stringWithFormat:@"/usr/bin/dpkg  -i %@ >/tmp/dpkg.log;",appsyncDebPath];
    const char  *cmdChar=[cmdString UTF8String];
    system(cmdChar);

Вы можете показать результат из /tmp/dpkg.log

Если вы хотите, чтобы ваше приложение функционировало как установщик пакетов, то да, я бы использовал

dpkg -i filename.deb

Вы можете выполнить эту команду программно с помощью вызова system() или exec() с помощью "dpkg -i filename.deb" как команда. Вы можете полностью определить путь к dpkg (например, /usr/bin/dpkg ... или что-то еще... я сейчас не на своем телефоне), если вы используете system() особенно.

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

Другой вариант, который не требует, чтобы ваше приложение работало от имени пользователя root или exec() или же system() звонки, это использовать метод, который я описал в этом ответе, который был о том, как программно перезагрузить iPhone. Так же, как я использовал скрипт для вызова reboot Команда, вы можете написать скрипт для выполнения dpkg -i filename.deb, Вам просто нужно придумать механизм для передачи имени файла вашему сценарию, который, как я полагаю, будет динамически меняться (если ваша программа не использует временную ссылку, которая всегда указывает на текущий устанавливаемый файл.deb.)

AFAIK джейлбрейк iPhone позволяет установить IPA без сертификатов... так что достаточно...

Другие вопросы по тегам