Коренные привилегии для приложения iOS
Я разрабатываю приложение, предназначенное для jailbroken устройств iOS. Это помогает автоматизировать некоторые задачи. Мне нужно создать простой текстовый файл (фактически файл .lua) в /private/var/mobile/Library. Очевидно, что отладчик выбрасывает исключение, запрещенное доступом. На данный момент приложение называется "CreateFile" для тестирования.
Я попытался выполнить следующие шаги, чтобы получить доступ root:
- Обычно создайте приложение.
- Создайте копию исполняемого файла в комплекте приложения.
-
Откройте исходный исполняемый файл и замените его содержимым на script:
#!/bin/bash dir=$(dirname "$0") exec "${dir}"/CreateFile "[email protected]"
Непосредственно запуск корневого приложения завершается с ошибкой в iOS. Поэтому мы заменим основной исполняемый файл приложения на script, который запускает исполняемый файл root.
-
В терминале перейдите к пакету приложений.
-
chmod 0775
исходный исполняемый файл иchmod 6775
скопированный исполняемый файл. - Скопируйте пакет приложений в/Приложения на устройство. Перезапустите SpringBoard, и вам должно быть хорошо идти. Если приложение не запускается, повторите шаги 5 и 6. на устройстве.
Используя этот метод, я могу успешно установить приложение в папку /Applications и запустить его, однако я ожидаю, что у меня все еще нет корневых разрешений, потому что, как только приложение попытается выполнить операцию записи, он сработает.
Если кто-то может пролить свет на эту ситуацию, я был бы очень благодарен!
Edit:
Прошло некоторое дополнительное тестирование в совете @creker. Когда я пытаюсь создать файл в разрешенном каталоге, таком как документы приложения, он создает просто отлично, без проблем. Из-за этого я уверен, что создание файла не приводит к сбою и что это единственный доступный путь к папке.
Также в совете @creker я попытался установить приложение в/Приложения без каких-либо сценариев запуска. Приложение распадается при открытии этого пути. Если после установки я буду исполнять исполняемый файл приложения до 775, приложение будет открываться, но все равно сбой при попытке создать файл.
Я заглянул в syslog от репортера аварии. вот круговая линия:
System.UnauthorizedAccessException: Access to the path "/private/var/mobile/Library/test.txt" is denied
Все еще надеясь исправить эту проблему, любые идеи приветствуются!