【发布时间】:2011-06-16 04:38:05
【问题描述】:
我正在编写一个游戏,它将在一些 xml 文档以及资源文件中包含大量信息(配置、一些内容等)。这将使我自己和其他人更容易编辑程序,而无需编辑实际的 C++ 文件,也无需重新编译。
但是,随着程序开始增长,与程序位于同一目录中的文件也会增加。所以我想把它们放在一个文件存档中(因为它们主要是文本,所以压缩效果很好)。
我的问题是:压缩所有文件会更容易吗?
- 为其设置密码(如受密码保护的 ZIP),然后在程序需要时提供密码
- 使用 Crypto++ 或类似工具加密存档
- 稍微修改文件头作为“临时”加密,并在文件加载时修复文件头
我认为数字 1 和 2 是相似的,但我找不到任何关于 zlib 是否可以处理受密码保护的档案的信息。
另外请注意,我不希望在程序使用存档时将存档中的文件“解压缩”到文件夹中。它应该只在系统的内存中。
【问题讨论】:
-
为什么需要加密这些东西?
-
它需要加密,因为我不希望任何人对其进行编辑或逆向工程。
-
如果数据和可执行代码在用户的机器上,那么你的加密不会阻止一个坚定的黑客。
-
AFAIK,许多游戏使用自己的虚拟文件系统,通常只用于只读文件。要保护已保存的游戏,您可以使用 CRC。
标签: c++ compression encryption password-protection