В операционной системе Mac OS X в последнее время очень часто встречаются конфигурационные файлы формата *.plist или *.strings сконвертированные в бинарный формат. При помощи обычных текстовых редакторов такой файл не открыть — показываются непонятные «кракозябры». О редактировании я вообще промолчу. Так всё же, можно ли нормально открыть бинарный PLIST или STRINGS? — Можно!

Для того, чтоб из бинарного формата получить структурированный и читабельный вид, бинарный файл для начала нужно переконвертировать в какой-либо формат, например в XML или JSON. И в этом ой как помогает маленькая утилита — plutil. Работает это так… Запускаем Терминал и натравливаем на бинарный *.plist или *.strings утилиту plutil с необходимыми параметрами. Например, для конвертирования бинарного файла в XML команда будет выглядеть следующим образом:

sudo plutil -convert xml1 "/System/Library/Extensions/Some.kext/SystemFile.plist"

Для конвертирования в JSON:

sudo plutil -convert json "/System/Library/Extensions/Some.kext/SystemFile.plist"

Обратите внимание, что синим выделен формат, а зелёным — путь к файлу. Переконвертированный файл теперь можно легко отредактировать в любом текстовом редакторе. После правки файла его можно обратно конвертануть в бинарик. Для этого используется следующая команда:

sudo plutil -convert binary1 "/System/Library/Extensions/Some.kext/SystemFile.plist"

Хочу обратить внимание на то, что консольной утилиты plutil может не быть по-умолчанию в ОС, поэтому, возможно, придётся установить пакет для разработчика Xcode в комплекте которого она присутствует.


Метки:
 
Понравилось? Поделись с друзьями!
  • Разве нельзя прочитать plist через: defaults read com.xxxx.yyyy ?

    • Можно, но есть множество других сценариев, когда .plist нужно править именно в текстовом редакторе. И тут без преобразования никак.
      Casing    ZEOS