Запуск приложения от root

Антон Титков
Development Разработка программ для AppStore Разработка программ для Cydia
Запуск приложения от root

Данный мануал поможет вам запустить ваше приложения с правами root(для использования недокументированных API и копания в  фс iOS)

ЗЫ.Метод работает при запуске приложения и из /Applications и из /var/mobile/Applications

Нам понадобится:
  1. Готовый проект для теста наших(т.е ваших :D) запрещенных приемчиков:)
  2. Текстовый редактор

1)Открываем наш проект в Xcode,идем в main.m
2)Заменяем содержимое функции main() вот этим:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    NSString* string = [[NSBundle mainBundle] pathForResource:@"Имя_бинарника" ofType:nil];
    argv[0] = (char*)[string UTF8String];
    execve([string UTF8String], argv, NULL);
    [pool release];
    return retVal;

3)Компилируем проект на iДевайс
4)Cкачиваем файл
5)В содержимом файла прописываем имя бинарника
6)Переним файл в папку .app вашего приложения
7)Ставим 755 на файл и 4755 на бинарник
8)дополнительно chown'им бинарник(root:wheel)
9)в Info.plist меням значение ключа CFBundleExecutable на Run_
10)Запускаем апп и радуемся:)


[MOD="iT0ny"]Способ прекрасно работает,т.к Gestures работает на нем:)[/MOD]
6 июня 2011, 16:17

Ответы