Лучшие твики с редактированием plist. PlistEdit Pro: Удобное редактирование конфигурационных файлов. Кстати, Charles отлично перехватывает SSL-трафик

Основа стабильности любой операционной системы — это ограничение доступа к важным файлам , от которых зависит работа компьютера, или попросту «защита от дурака». В Mac OS X, как во всех остальных *nix-системах, эта защита реализована через права доступа, группы и владельцев объектов. Прочитать обо всём этом вы можете в о Терминале Mac OS X, а сегодня речь пойдёт не столько о защите, сколько о способах её преодоления.

Зачем это нужно? Рано или поздно любой пользователь Мака сталкивается с необходимостью что-нибудь отредактировать в настройках системы или отдельных программ. Ну а владельцы хакинтошей сталкиваются с этой необходимостью чуть ли не каждый день. Как же обойти хитрую систему присвоения прав доступа, чтобы что-нибудь поменять в системе исключительно ради благой цели?

Стандартным форматом настроек Mac OS X и программ для неё является PLIST. Это обычный текстовый файл, который по умолчанию откроется в текстовом редакторе TextEdit. Теперь представьте, что вы открыли такой файл, внесли все нужные изменения и теперь хотите сохранить его. Но не тут-то было! Вы увидите вот такую ошибку:

Вариант у вас только один — сохранить файл ещё где-нибудь. Но это очень и очень плохой вариант. Во-первых, вы потом не сможете скопировать этот файл в его исходную папку. Система просто не даст вам перезаписать имеющийся файл (и будет права). Ну а если вы удалите старый файл и только затем скопируете в ту же папку отредактированную копию, то она скопируется, но будут нарушены права доступа. А это грозит вам самыми загадочными и непредсказуемыми глюками.

Именно поэтому мы рассмотрим несколько других вариантов.

1) Редактирование через Терминал

Терминал даёт пользователю возможность выполнять действия от имени корневого администратора. А это означает, что вам будет подвластен каждый файл компьютера. Надеемся, нет смысла предупреждать вас об опасности наличия такой власти;)

В самом Терминале есть несколько встроенных средств редактирования, например, команды nano и vi . Воспользоваться ими проще простого. Сначала нужно приобрести права root-администратора. Введите команду:

Затем вслепую введите пароль и нажмите Enter.

А теперь достаточно ввести:

nano путь к файлу

Например:

nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Или можно ввести nano и пробел, а потом перетащить редактируемый файл в окно Терминала. Останется нажать Enter. Работа с командой vi осуществляется точно так же.

Но редактировать файл в таком режиме — удовольствие не из приятных. Судите сами: никакого управления мышью тут не предвидится, и даже курсор придётся передвигать с клавиатуры.

Полезный совет: чтобы выйти из nano, закройте Терминал или нажмите на клавиатуре Ctrl+X.

2) Запуск текстового редактора с правами администратора

Второй способ более элегантен. Он позволит вам пользоваться обычными программами Mac OS X для правки текста, но запущенными от имени администратора. В этом случае никаких ошибок с правами доступа не возникнет.

Запустите Терминал, введите sudo -s и пароль. Затем нужно будет ввести громоздкую конструкцию типа:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Заметьте: через Терминал нужно запускать не саму программу (т.е. файл TextEdit.app), а её бинарник, упрятанный внутри программы, в подпапке Contents/MacOS .

После этого TextEdit отлично сможет работать с любыми файлами, но только до первого закрытия программы.

3) Сторонние специализированные программы

Не можем не порекомендовать текстовый редактор . Это продвинутая версия TextMate, которая делалась в расчёте на программистов, но будет полезна на каждом Маке (а на хакинтоше тем более). К вашим услугам — наглядное форматирование текста, работа с самыми разными кодировками и главное — поддержка работы с защищёнными файлами без дополнительных махинаций в Терминале.

При сохранении защищённого файла TextMate предложит вам ввести пароль, и без проблем сохранит все изменения.

Впрочем, цена — явно не достоинство TextMate. После окончания 30-дневного триала с вас попросят 39 евро . Разработчики оправдываются, указывая на огромное количество встроенных модулей по обработке разных скриптов и языков программирования:

Только вот зачем они рядовому пользователю? Если же цена вас не отпугивает, то можете скачать TextMate по ссылке ниже.

Самой частой причиной проблем с раскрытием файла 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 должны появится сортированные по названию файла.

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

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

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



Понравилась статья? Поделиться с друзьями: