Установите приложение в папку приложений josbroken ios Root - PullRequest
3 голосов
/ 17 марта 2012

, когда я помещаю myapp.app в папку «Приложения» в корневом каталоге ios5, но она не может работать. Зачем? но я считаю, что Cydia может работать нормально.

1 Ответ

3 голосов
/ 30 сентября 2012
  1. В main.m добавьте setuid(0); и setgid(0);
  2. Создайте приложение как обычно.
  3. Затем скопируйте и вставьте исполняемый файл в .app и переименуйте его ввсе, что вы хотите, не переименовывайте исходный файл.
  4. Откройте исходный исполняемый файл и удалите его содержимое (содержимое теперь сохраняется в ранее скопированном и переименованном двоичном файле).
  5. Добавьте этот bash-скрипт в пустой двоичный файл из 4.:

    #!/bin/bash
    dir=$(dirname "$0")
    exec "${dir}"/<COPIED FILE NAME> "$@"
    

    Springboard сначала запустит этот файл, потому что это CFBundleExecutable, затем запустит исполняемый файл самого приложения.Это сделано потому, что SpringBoard не сможет напрямую запустить исполняемый файл с правами root

  6. Открыть терминал и изменить каталог на .app (например, cd /User/Me/Desktop/MyApp.app)
  7. chmodисходный исполняемый файл до 0755 (например, chmod 0755 MyCFBundleExecutable) и скопированный файл до 6755 (например, chmod 6755 CFBundleExecutableRoot)
  8. SSH .app в / Applications на вашем устройстве, обновите и запустите его (если егоне запускается, затем повторите набор 7. но с помощью SSHing в ваше устройство через терминал)
...