Как вы вводите данные в PlistBuddy - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь изменить значение данных с помощью PlistBuddy и не могу его понять.

/ usr / libexec / PlistBuddy - c "Установить: Ядро: Эмулировать: Cpuid1Mask AAAAAAAAAAAAAAACAAAAAA ==" ~ /Desktop/test.plist

Вместо записи нужных мне данных при просмотре файла я получаю: QUFBQUFBQUFBQUFBQUFBQ0FBQUFBQT09

Я играл с hex, de c, bin, всем Я могу думать, но никогда не пишет правильно. Я всюду искал и не нашел ничего, что объясняло бы, как это сделать. Все зависит от ввода строк, и ничего не говорит о том, как вводить данные или их формат.

Мне нужно изменить это значение взад и вперед с AAAAAAAAAAAAAACAAAAAA == на AAAAAAAAAAAAAAAAAAAAA ==

Я пробовал распечатать это, чтобы увидеть результат, чтобы я мог видеть формат, но он пуст в терминале.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

0 голосов
/ 02 сентября 2020

PlistBuddy может сделать это с помощью base64. Сначала декодируйте ваш входящий поток Base64 в двоичные данные.

base64 -D <<< AAAAAAAAAAAAAAACAAAAAA== > /tmp/tmp.bin

Затем используйте команду PlistBuddy s Import.

/usr/libexec/PlistBuddy -c "Import :Kernel:Emulate:Cpuid1Mask /tmp/tmp.bin" ~/Desktop/test.plist

Удалите двоичные данные, если они больше не нужны.

rm /tmp/tmp.bin

PS: Я часто использую это для изменения значений данных в OpenCore.

0 голосов
/ 31 мая 2020

Я разобрался. Оба значения по умолчанию и PlistBuddy не могут этого сделать. plutil отлично работает без повреждения строки данных.

...