15

我正在编写一个应用程序,它在启动时从包中的 am xml plist 读取信息。plist 中的信息是经过多天的工作整理而成的,我想确保它在分发后不会被另一方轻易地从 app bundle 中提取出来。有什么方法可以保护或加密包含在您的应用程序包中的 xml plist?

任何帮助将不胜感激。

4

1 回答 1

16

plist 中没有内置加密功能。许多人将压缩视为加密。

这是我会做的,

  1. 制作一个加密密钥。
  2. 编写一个小程序,使用 .plist 将 plist 加密为二进制文件SecKeyEncrypt()
  3. 将二进制文件放入包中。
  4. 在应用程序中,将密钥隐藏在某处。例如,将它们存储为碎片,这样就不容易从转储中找到。
  5. 当您启动应用程序时,从 bundle 中读取二进制文件,SecKeyDecrypt()使用密钥对其进行解密并将明文存储在内存中。
  6. 明文是 plist 并从内存中加载 plist。

这仍然被认为是令人困惑的,因为您的捆绑包中提供了密钥,但它足以阻止大多数临时黑客。

于 2009-09-23T11:26:47.833 回答