2012-03-17 1 views

ответ

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

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

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

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