Как программно установить файл.deb на взломанный iphone?
Я разрабатываю приложение с Xcode для iPhone (взломанный). Теперь я хочу установить файл.deb программно. Как я могу это сделать? Я мог бы выполнить команду, чтобы установить его, но как? Достаточно ли этого, если я установлю свое приложение через Xcode на свой взломанный iPhone? (.ipa) или мне нужно создать.deb? Если да, то как?
Большое спасибо!
Хорошего дня.
редактировать: я сделал приложение. В этом приложении у меня есть файловый браузер (только для каталога документов). В этом каталоге находятся файлы.deb. Теперь я хочу установить эти файлы.deb программно, если пользователь нажмет одну из них. Как мне это сделать?
4 ответа
AFAIK dpkg -i *.deb - это команда для установки.deb. Но вы не можете установить.deb в.deb, потому что менеджер пакетов заблокирован, поэтому вам нужен скрипт или что-то в этом роде.
Много вариантов.
- Вы можете узнать исходный код Cydia.(Официальный сайт предоставляет исходный код)
Узнайте исходный код от Icy Github. https://github.com/ripdev/Icy
Простой способ, просто используйте системную функцию для вызова команды 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 без сертификатов... так что достаточно...