13.10.2021

Как редактировать plist файл ios. Расширение файла PLIST. Использование командной строки


Некоторые iOS-приложения проверяют версию операционной системы на устройстве. Недавно, во время тестирования одного приложения, я как раз и столкнулся с подобной проверкой. Если версия iOS была ниже 7.1, приложение не устанавливалось, и вываливалась ошибка.

В этой статье будут рассмотрены следующие темы:

  • Изменение версии iOS в файле SystemVersion.plist.
  • Изменение версии в plist-файле, находящимся в пакете приложения.
  • Использование утилиты «iOS-ssl-Kill switch» для обхода валидации сертификата.

Изменение версии iOS в файле SystemVersion.plist

Версия iOS может быть изменена (на джейлбрейковом устройстве) в два простых шага посредством изменения соответствующего значения в файле SystemVersion.plist:

  1. Подключаемся к джейлбрейковому устройству по протоколу SSH (или используем ifile, доступный в cydia) для просмотра содержимого системной директории.
  2. Изменяем значение "ProductVersion" в файле "/System/Library/CoreServices/SystemVersion.plist".

Рисунок 1: Содержимое файла SystemVersion.plist

Этот трюк позволяет изменить значение, отображаемое в разделе "Settings/General/about". Однако метод сработает лишь для тех приложений, которые проверяют версию в файле SystemVersion.plist. Если после изменения версии, приложение все равно отказывается работать, используйте второй метод.

Изменение версии в plist-файле, находящимся в пакете приложения

Второй метод, позволяющий изменить версию, состоит из трех простых шагов:

  1. Переименовываем файла ipa в.zip и распаковываем архив.
  2. Изменяем значение "minimum ios version" в файле info.plist, который обычно находится в папке \Payload\appname.app.
  3. Упаковываем архив и переименовываем его обратно в ipa. [Примечание: некоторые приложения проверяют значение "minimum ios version" в других plist-файлах, находящихся в пакете ].

Рисунок 2: Содержимое файла info.plist

После изменения plist-файлов нарушается подпись пакета. Для решения этой проблемы, необходимо зарегистрировать IPA при помощи утилиты из этой статьи .

Некоторые приложения проверяют версию iOS во время установки. Когда пользователь устанавливает приложение при помощи iTunes или xcode, используя IPA, происходит проверка версии iOS, запущенной на устройстве, и если версия ниже, чем требуется, появляется ошибка.

Рисунок 3: Ошибка, возникающая при установке приложения через xcode

Подобная проверка также обходится в несколько шагов:

  1. Переименовываем файл.ipa в.zip и извлекаем папку.app.
  2. Копируем папку.app туда, где установлены iOS приложения (/root/application) при помощи любого SFTP-клиента (например, WinSCP).
  3. Подключаемся к устройству через SSH, заходим в папку, где установлен IPA, а затем ставим права на запуск у папки.app (chmod -R 755 или chmod -R 777). Альтернативный способ - кликнуть правой кнопкой мыши на папке.app в WinSCP и изменить свойства директории, установив соответствующие права.
  4. После перезапуска iOS устройства приложение будет успешно установлено.

Рисунок 4: Установка новых прав для директории

Обход валидации сертификата

Некоторые приложения проверяют сертификат для предотвращения проксификации трафика при помощи утилит наподобие Burp. Обычно в бинарном файле приложения намертво зашит клиентский сертификат. Сервер проверяет этот сертификат, и если валидация заканчивается неудачно, возникает ошибка. Более подробно об этом можно почитать в другой моей статье в соавторстве со Стивом Керном.

Иногда бывает трудно извлечь сертификат из приложения и установить его внутрь прокси. Альтернатива – использовать утилиту ios-ssl-kill-switch. ios-ssl-kill-switch цепляется к Secure Transport API (самый низкий уровень) и отключает проверку сертификата. Большинство проверок используют NSURLConnection на более высоком уровне. Больше подробностей можно узнать .

Проверка сертификата обходится в несколько шагов:

  1. Устанавливаем утилиту kill-ssl-switch .
  2. Все зависимые пакеты должны быть установлены заранее.
  3. Перезапускаем устройство или перезапустите SpringBoard при помощи следующей команды "killall -HUP SpringBoard".
  4. Устанавливаем опцию Disable Certificate Validation в разделе "Settings/SSL Kill Switch".
  5. Перезапускаем приложение, после чего трафик должен перехватываться успешно.

Привязка сертификата (Certificate pinning) обходится путем подцепления к API, выполняющего валидацию сертификата, и постоянного возвращения «истины» при проверке. Для решения этой задачи вполне подойдет фреймворк Mobilesubstrate. Существует несколько других полезных утилит для отключения привязки, например "Trustme" и "Snoop-it".

Рисунок 5: Отключение проверки сертификата в SSL Kill Switch

Самой частой причиной проблем с раскрытием файла PLIST является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате PLIST - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов PLIST.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом PLIST. Если это не произошло, то файл PLIST успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл PLIST, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл PLIST

Mac OS

Почему я не могу открыть файл PLIST?

Проблемы с файлами PLIST могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы PLIST не решит проблему. Причиной невозможности открытия, а также работы с файлом PLIST может быть также:

Несоответственные связи файла PLIST в записях реестра
- повреждение файла PLIST, который мы открываем
- инфицирование файла PLIST (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения PLIST из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение PLIST

Устранение этих проблем должно привести к свободному открытию и работе с файлами PLIST. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов PLIST. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе PLIST должны появится сортированные по названию файла.

Если вам лень копаться в магазине Cydia , и искать нужные твики, то всегда есть вероятность того, что можно решить вашу проблему простым изменением файлов настроек iPhone .

О маленьких твиках iOS , которые может сделать самостоятельно каждый пользователей Jailbreak тут и пойдёт речь. Все нижеописанное проверено на iOS 5.

Что нам понадобится:

  • iPhone или iPad с открытой файловой системой (сделан Jailbreak)
  • Программа iFile (можно скачать в Cydia Store)
    Собственно, больше ничего, так как Plist редактор уже встроен в iFile.

    Изменения файлов Plist - взломы и улучшения, которые может сделать каждый пользователь Jailbreak.

    1.Включаем панорамную камеру в iPhone

    Для этого нужно попасть в папку

    и открыть файл com.apple.mobileslideshow.plist .

    200?"200px":""+(this.scrollHeight+5)+"px");">DiskSpaceWasLow


    Дописываем после:

    200?"200px":""+(this.scrollHeight+5)+"px");">EnableFirebreak

    Функция тестовая, её придется еще включить в обычных настройках камеры. Качество получаемой панорамы также не очень качественное, но если вам нужна панорама на iPhone без установки сторонних программ тогда этот твик для вас.

    2.Включение спрятанной панели автокоррекции текста

    Идём в ту же самую папку
    var/mobile/Library/Preferences/
    и открываем файл com.apple.keyboard.plist и добавляем данную строку:

    200?"200px":""+(this.scrollHeight+5)+"px");">KeyboardAutocorrectionListsYES


    Если Вы не можете найти файл по вышеупомянутому пути, попробуйте поискать в
    Library/Preferences/ .

    3. Скринсейвер на iPad и iPhone

    В некоторых магазинах на iДевайсах стоит фирменный скринсейвер. Если вам не жаль батареи тогда есть специальная настройка для его установки.
    Идём в папку:
    /var/stash/Applications/DemoApp/
    и редактируем файл Info.plist.
    Изменяем в куске кода:

    200?"200px":""+(this.scrollHeight+5)+"px");">SBAppTags
    hidden


    ключ hidden на ключ visible .

    Теперь помещаем файл со скринсейвером Demo.mov в папку
    var/mobile/

    После ReSpring’а всё должно заработать.

    4. Включаем поддержку многозадачности в Cydia

    Все знают, что стоит только переключиться на другую программу, Cydia, скромно говоря, всё забывает. Есть решение и для этой проблемы. Для этого заходим в:
    /var/stash/Applications/Cydia.app/
    редактируем в файле Info.plist строки:

    200?"200px":""+(this.scrollHeight+5)+"px");">UIApplicationExitsOnSuspend


    меняя ключ true на false. Перезагружаем устройство и вуаля, Cydia запоминает ваше последнее положение в меню.

    5. Включение буфферизации для 720p роликов в штатном приложении YouTube

    Открываем следующий файл:
    /System/Library/CoreServices/SpringBoard.app/N81AP.plist
    Меняем

    200?"200px":""+(this.scrollHeight+5)+"px");">720p


    На

    200?"200px":""+(this.scrollHeight+5)+"px");">720p


    и перезагружаем iPhone, iPad.

    6. Изменяем текст на экране блокировки

    Несмотря на то что есть такая настройка в Springtomize, иногда не хочется ставить лишних твиков, так что заходим в iFile и открываем:

    System/library/CoreServices/SpringBoard.app/English.lproj/SpringBoard.strings
    и редактируем следующий ключ:

    "AWAY_LOCK_LABEL" = "slide to unlock"

    7. Выключение постоянной поддержки Wi-Fi соединения

    Иногда встречается следующий баг, что аккумулятор внезапно разряжется, хотя iPad или iPhone был во сне. Это происходит из-за того, что он не всегда показывает статус подключения к сети. Если вы столкнулись с такой проблемой, нужно сделать так, чтобы iPhone не держал постоянно сеть - есть такая настройка.

    Заходим в:
    /System/Library/LaunchDaemons/
    и переименовываем com.apple.apsd.plist в com.apple.apsd.plist% , перезагружаем устройство.

    Так же, все выше перечисленные действия может сделать каждый даже без использования . Для этого надо просто создать резервную копию iPhone, iPad, потом можно изменять ее программой iBackupBot, после чего необходимо восстановить ваш iOS девайс отредактированным бекапом.

    И это ещё не всё, лист будет обновляться, по нахождению новых твиков. Отписывайтесь и задавайте вопросы ниже, ответим.

    Если вы не нашли ответа на свой вопрос или у вас что-то не получилось, а в комментаряих ниже нет подходящего решения, задайте вопрос через нашу . Это быстро, просто, удобно и не требует регистрации. Ответы на свой и другие вопросы вы найдете в разделе.

    Присоединяйтесь к нам во

  • Файлы PLIST разбросаны по всему вашему Mac, но вполне возможно, что вы никогда их не увидите. Это плохо, так как файлы PLIST, по сути, предоставляют один из наиболее прямых путей к хакингу. Изучив рекомендации, приведенные в данном рецепте, вы овладеете всей мощью этих файлов.

    PLIST - это сокращение от «property list» (список свойств), и редактирование файлов с этим расширением имени представляет собой основной метод модификации Mac OS X (а также некоторых других операционных систем). С помощью этого метода вы можете организовать данные таким образом, чтобы к ним могли получать доступ программы, и при этом они структурированы так, что при необходимости пользователи могут создавать собственные файлы этого типа. Это краткое описание, разумеется, практически ничего не говорит, но детальное описание файлов PLIST - это сложная и трудоемкая задача. Если вы действительно заинтересованы в функциональных возможностях файлов PLIST, внимательно изучите следующую документацию: http://developer.apple.com/documentation/Darwin/Reference/Manpages/man_/plist._.html или запустите программу Terminal и введите следующую команду: man plist.При настройке компьютера в соответствии с вашими личными потребностями, наиболее часто приходится настраивать файлы PLIST, в которых хранятся значения по умолчанию для настроек различных программ - от стандартных цветов до реакции программ на те или иные действия. Как правило, эти файлы находятся в папке Library/Preferences вашего домашнего каталога. В большинстве случаев модификация этих файлов безвредна, и при этом позволяет разблокировать довольно неожиданные функциональные возможности. Если вы случайно повредите файл при редактировании, вы можете просто переместить его в Корзину, и при следующем запуске приложения взамен удаленного файла будет сгенерирован новый. Разумеется, при этом вы потеряете все индивидуальные настройки, созданные для этой программы, поэтому лучший способ (как и во всех случаях хакинга, при возможности) заключается в том, чтобы создать резервную копию этого файла с целью последующего восстановления в случае неполадок.


    Существует множество способов доступа к файлам PLIST. Наиболее быстрый из них - из программы Terminal с помощью команды default. Рассмотрим простой пример. Некоторые программы можно настроить таким образом, чтобы они отображали меню Debug (большинство пользователей, активно работающих с приложением iCal, знают, насколько полезным может быть это меню). Давайте рассмотрим, каким образом можно настроить iCal таким образом, чтобы добавить в строку меню команду Debug:

    1. При необходимости закройте приложение iCal.
    2. Запустите программу Terminal (Applications/Utilities/Terminal).
    3. Когда на экране появится приглашение к вводу (символ $), введите следующую команду: defaults write com.apple.iCal IncludeDebugMenu
    4. Перезапустите приложение iCal.

    После появления окна приложения вы увидите, что в нем появилось новое меню Debug (рис. 1.15).


    Приложение Terminal предоставляет великолепные возможности, когда вы знаете, что именно следует поменять. Однако если вы этого не знаете и лишь стремитесь узнать, какие настройки следует изменить, оно уже не будет столь полезным. Для этой цели вам понадобится список свойств (property list). Как было упомянуто в начале этого раздела, обычно большинство файлов PLIST находятся в папке Library в вашем домашнем каталоге. Для файла PLIST, содержащего настройки iCal, путь будет выглядеть следующим образом: ~/Library/Preferences/com.apple.ical.plist. Как только вы обнаружите нужный файл, откройте его редактором списков свойств (Property List Editor). Как было рассказано , этот редактор входит в состав Xcode Tools и устанавливается в папке /Developer/Applications. Кроме того, вы можете просто выполнить двойной щелчок мышью на нужном файле, и он будет открыт для редактирования (рис. 1.16).


    После того как файл будет открыт, вы сможете отредактировать любую из его строк. Большинство строк не имеют большого практического значения, но некоторые из них имеют явно выраженный смысл и позволяют редактировать функциональные возможности приложения. Например, изменение числового значения в строке delete todos after с 30 на 60 приведет к тому, что задачи, принятые к исполнению, будут храниться в течение 60 дней.

    Итак, теперь вы вооружены командной строкой и программой, позволяющей редактировать файлы PLIST, экспериментируя с их настройками. Кроме того, файлы PLIST можно редактировать и обычным текстовым редактором. В версиях Mac OS X, более ранних, чем Tiger, файлы PLIST можно было непосредственно открывать текстовыми редакторами, но теперь эти файлы хранятся в двоичном формате. Чтобы открыть файл PLIST текстовым редактором, вам потребуется предварительно преобразовать его. Какой из методов преобразования файлов PLIST является наиболее простым? На помощь снова придет приложение Terminal.

    Файл PLIST приложения iCal уже достаточно хорошо изучен, так что теперь попробуем модифицировать закладки браузера Safari. Полный путь к файлу PLIST с настройками Safari выглядит так: ~/Library/Safari/Bookmarks.plist. Прежде всего, создадим его резервную копию (как и рекомендуется поступать в большинстве случаев). Для этого наведите на файл курсор мыши, щелкните правой кнопкой и из контекстного меню выберите команду Duplicate. Теперь выполните преобразование этого файла с помощью следующей командной строки: $ plutil -convert xml1 ~/Library/Safari/Bookmarks copy.plist

    В данном случае команда plutil запускает процедуру преобразования списка свойств. Ключ -convert xml1 сообщает plutil о необходимости преобразовать файл PLIST в формат XML, а остальная часть командной сроки задает путь к преобразуемому файлу. После того как команда отработает, переместитесь в нужную папку в помощью Finder, наведите на нужный файл курсор мыши, щелкните правой кнопкой и выберите из контекстного меню команды Open With → Other, а затем выберите опцию Text Edit. Файл PLIST, преобразованный в формат XML, выглядит вполне удобочитаемым (рис. 1.17).

    Разумеется, файлы PLIST заслуживают намного более тщательного изучения, но приведенный здесь необходимый минимум информации уже позволит вам начать их исследование и экспериментировать с настройками.