-2

我目前正在关注 Tile Engine 的教程系列,它使用 XML 文件来存储 NPC 之间的对话。它似乎没有涵盖的一个主题(我只是快速浏览了后续视频)是如何通过使用通用文本轻松打开 XML 文件来防止用户更改或提前知道 NPC 将要说什么编辑。

能够阅读未来对话的第二点不是一个真正的问题,而是我想考虑的事情,所以如果这很难实现,我现在不会太在意。

我将如何使 XML 不可编辑?我对可以检查文件完整性的 CRC32 有模糊的了解,这可能很有用,我也认为可能有更好的方法来解决这个问题(即不使用 CRC32)。

我能想到的最极端的做法是为对话数据创建我自己的任意编码,但 XML 文件的实用性让我有点害怕,而且我正在学习的教程教了我很多我不知道的东西知道,我宁愿不要离他们太远!

真的只是在寻找方向,谢谢!

4

2 回答 2

1

Xml 本质上是一种开放格式,所以我的意思是没有办法使 xml 不可编辑。

但是您可以在您的服务器(或 NPC 对话的端点)上拥有 xml 文档的副本(或 xml 的某些指纹),然后您可以比较 xml 文档是否被编辑。

如果文档被编辑,您可以用备份版本替换它或告诉端点,该 xml 文档已损坏......

于 2012-07-21T10:57:30.793 回答
0

从历史上看,许多游戏将多个资源包装到一个二进制文件中。

您可以将其放在 ZIP 文件中(并且可能更改文件扩展名)。这将允许您避免使用具有明显名称的 XML 文件来诱惑您的用户:)。

最终,您提出的问题类似于 DRM 问题。我不知道您的平台是否对此有答案。(例如,“使用 RSA 加密”本身并不安全;您的程序仍然必须在某些时候使用适当的密钥解密数据等)。

于 2012-07-21T11:05:07.173 回答