Компьютерный журнал для новичков и профессионалов

Меняем параметры игр на примере Fieldrunners. Как редактировать защищённые файлы Mac OS X? Редактирование info plist

Консольная команда defaults , пожалуй, одна из самых привычных для простых мак-пользователей. Однако без должной сноровки это не самый удобный инструмент работы с plist-файлами. Куда проще этим заниматься с помощью привычной оконной программы PlistEdit Pro.

В сущности, эта утилита отдаленно напоминает редактор реестра в Windows. Правда, здесь древовидная структура отображается в таблице параметров, а значения редактируются по месту, а не во всплывающем окне. В остальном же очень схоже с «Регедитом» - свитчеры оценят. 🙂

Впрочем, самое главное достоинство PlistEditor Pro заключается в том, что она легко читает конфигурационные файлы Mac OS X, содержимое которых хранится не только в виде XML-кода (эти можно редактировать и в простом Text Edit), но и в бинарном формате. И в том, и в другом случае вы увидите в окне PlistEdit Pro понятную таблицу конкретных величин и их значений.

Примечательно, что конфигурационные файлы, которые вы хотите просмотреть или отредактировать, не нужно искать по месту их расположения. Вместо этого достаточно открыть окно Preference File Browser (то есть «обозреватель конфигурационных файлов») - и через несколько секунд вы увидите таблицу файлов, многие из которых будут привязаны к конкретным приложениям (собственно, параметры этих приложений и хранятся в соответствующих файлах). Если самостоятельный просмотр этой таблицы не помог определиться с тем, какой именно plist-файл вам нужен - воспользуйтесь поиском, который учитывает либо имя файла или программы, либо вхождение поискового запроса в содержимое искомого файла. Во втором случае можно настроить «поле зрения» поисковика: чтобы он учитывал только ключи, ключи и значения, только значения, логическое правило вхождения поисковой строки и т. д. То есть поиск файлов, мягко говоря, настраивается гибко.

Если необходимые конфигурационные данные хранятся в нестандартной папке, и вы знаете путь к ней - просто перетащите эту папку в окно «браузера». И чтобы больше не повторять эту процедуру, можно текущий список файлов сохранить, щелкнув на кнопке Save Browser . Сохраненные таким образом «браузеры» можно переименовывать или удалять за ненадобностью.


Медиатека iTunes хранится в том же XML-формате. Спрашивается, почему ее нельзя загрузить в PlistEdit Pro? Конечно, если знаешь, зачем это делать. 🙂

Создание новых ключей и узлов, задание значений, определение формата конфигурационного файла производится либо непосредственно в самой таблице содержимого открытого файла, либо посредством главного меню программы. И несмотря на свою невзрачность, PlistEdit Pro - очень удобный редактор. Освоить его - пара пустяков: видно, что разработчик ясно себе представлял процесс редактирования plist-файлов, и какая при этом ставится цель.

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

- Расширение (формат) - это символы в конце файла после последней точки.
- Компьютер определяет тип файла именно по расширению.
- По умолчанию Windows не показывает расширения имен файлов.
- В имени файла и расширении нельзя использовать некоторые символы.
- Не все форматы имеют отношение к одной и той же программе.
- Ниже находятся все программы с помощью которых можно открыть файл PLIST.

В интернете очень много программ, позволяющих редактировать исходный код другой программы, файла и др. Однако большинство из подобных программ являются всего лишь текстовым редактором наподобие блокнота. Отличаются они от вышеуказанного редактора лишь тем, что имеют подсветку синтаксиса. Однако в некоторых случаях, такого функционала программы оказывается недостаточно. Программисту бывает необходимо быстро находить различные части документа. И вот, наконец-то, в появилась программа, позволяющая решить эту проблему. Программа называется SynWrite. Её отличительная особенность – наличие навигационной панели с деревом, котор...

Наверное, каждый продвинутый пользователь Mac OS X в жизни хоть раз, да сталкивался с plist-файлами. Сегодня я расскажу читателям про очень интересное и простое приложение для работы с ними под названием PlistEdit Pro.

Для начала, очень краткий ликбез. Файл с расширением.plist (Property List) представляет собой обыкновенный XML-файл с настройками приложений. Данный формат хорош тем, что он удобен и быстр в работе. Многие настройки приложений в таких файлах лежат в /Home/Library/Preferences, а их названия обычно состоят из 4 частей: приставка.компания.приложение.plist (к примеру, com.apple.iTunes.plist).

Большинство таких файлов могут быть открыты в любом текстовом редакторе, но вот только их изменение может оказаться не простым занятием. В этом случае нам, как раз, и может пригодиться утилита PlistEdit Pro, которая отображает «сырой» текст файла в виде списка с тремя параметрами: название переменной (Key), тип данных (Class) и значение (Value).

В приложении поддерживается drag-n-drop, поэтому отдельные переменные или целые секции можно перетаскивать мышкой, при этом не требуется вручную переписывать содержимое файла. Кстати, выбрав один из видов отображения его содержимого (бинарный, ASCII или XML), можно автоматически просматривать изменения в нижней части окна. А если добавить туда код «руками», то он синхронизируется с верхним XML-деревом.

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

Также, в PlistEdit Pro предусмотрен продвинутый поиск с возможностью замены найденных элементов. Сужать и расширять диапазон поиска можно при помощи разнообразных критериев.

Среди других преимуществ данного приложения можно выделить такие:

  • Полная история изменений.
  • Поддержка клавиатурных сокращений для быстрого доступа к некоторым функциям.
  • Интеграция с XCode.
  • Поддержка AppleScript.

Единственное, что на мой взгляд, омрачает впечатление от PlistEdit Pro, - это его цена в 30$.

Сайт разработчика: Fat Cat Software
Стоимость: 29.95$

Файлы 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 заслуживают намного более тщательного изучения, но приведенный здесь необходимый минимум информации уже позволит вам начать их исследование и экспериментировать с настройками.

Некоторые 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

Загрузка...