Закрепление xml plists в Cocoa/Цель C

Я пишу приложение, которое считывает информацию из массива am xml в комплекте при запуске. Информация в plist была скомпилирована в течение многих дней работы, и я хотел бы убедиться, что она не может быть легко извлечена из пакета приложений другой стороной после распространения. Есть ли способ защитить или зашифровать xml-плиты, которые входят в комплект приложения?

Любая помощь будет принята с благодарностью.

Ответы

Ответ 1

В plist нет встроенной функции шифрования. Многие люди рассматривают сжатие как шифрование.

Вот что я сделал бы,

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

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