NSFileManager не может просматривать ниже определенных каталогов - PullRequest
3 голосов
/ 08 июня 2011

Я пытаюсь написать некоторый код для проверки или изменения (не вредоносных или чего-либо подобного) других приложений iOS, установленных на устройстве пользователя. В частности, на устройстве с джейлбрейком. На взломанном устройстве я могу просматривать файлы вне изолированной программной среды приложения, и когда я смотрю на «/ private / var / mobile / Applications /» с помощью NSFileManager, я вижу список каталогов (названный в какой-то шестнадцатеричной схеме) , Как и ожидалось.

К сожалению, когда я смотрю на каждый каталог, все они возвращают (кроме самого запущенного приложения) FALSE для isDirectory и NULL для attributeOfItemAtPath. Мне нужно иметь доступ к .app внутри каждой из этих папок, но я не могу видеть их ниже, и каждая возвращает неверную информацию.

Ниже код, который я использую:

  NSString *path = @"/private/var/mobile/Applications/";
        NSFileManager *manager = [NSFileManager defaultManager];
        NSArray *fileList = [manager contentsOfDirectoryAtPath:path error:nil]; 


            for(NSString *file in fileList) {


  NSString *fullpath = [path stringByAppendingPathComponent:file];
            NSLog(@"fullpath = %@", fullpath);

        BOOL isDir = nil;
            [manager fileExistsAtPath:fullpath isDirectory:(&isDir)];
            if(isDir) {
                NSLog(@"isDir");
                //NSArray *subfiles = [self filesBeneathDirectory:fullpath withExtension:extension];
            } else {


            NSLog(@"!isDir");
                    NSDictionary *attributes = [manager attributesOfItemAtPath:fullpath error:nil];
                    NSLog(@"attributes = %@",attributes);
            }

     }

Буду признателен за помощь в обнаружении файлов под этими каталогами. Я предполагал, что iPhone будет иметь полный доступ с правами root (будучи взломанным устройством и все такое).

1 Ответ

2 голосов
/ 21 сентября 2011

Из вашего приложения вы можете получить доступ только к своей песочнице.Это не принесет пользы, если вы получите доступ к файлам в других каталогах, есть несколько очень веских причин, по которым Apple ограничивает доступ.

...