制作不可编辑的游戏保存文件



我正在做的是制作一个控制台二十一点来玩。我想省钱,以便用户可以每天玩,但我不想将其保存在文本文件中,用户可以随心所欲地轻松更改金额。

我已经想过制作一个隐藏文件或带有密码的加密文件,但我不喜欢这样。我希望它有点像当你打开一些随机的dll文件时,你看到的只是你无法理解的胡言乱语。

防止用户篡改其统计信息的一种无懈可击的方法是将统计信息存储在远离他们的远程服务器上。不过,这将要求用户在游戏期间在线。OTOH 您将能够展示顶级玩家的阶梯等等。

如果您想要离线存储,加密文件可能是最佳途径。您只需要正确隐藏文件即可。

在修改文件之前,请读取其修改时间。更新后,恢复时间。用户将很难弄清楚哪个文件发生了变化。

使用游戏使用的无辜文件,其中包含格式允许的数据块。它可以是将加密字符串存储在注释中的 XML 文件。它可以是一个 JPG 或 PNG 文件,将加密字符串存储在注释或 EXIF 部分中,位于已知的偏移量(因此您无需解析该文件(。WAV,OGG,MP3还允许包含非解释数据。当您将数据隐藏在实际像素值等中时,这不是真正的隐写术,而且要容易得多。

我想你明白,一个带有反汇编器和调试器的坚定破解者可以破解这个方案。但普通用户可能不会打扰。

听起来你在谈论隐写术,但传统的加密可能更安全,更容易实现。

您可以加密文件中的值:看看: http://dinofilias.com/encrypt.htm使用这样的基本加密,只要用户无法访问密钥,您的数据就相对安全。

您可以使用加密获得包含乱码的文件的效果。只需将加密数据保存为字节(不转换为 ASCII 表示形式(。由于加密数据的值可能介于 0x00 和 0xFF 之间,因此会出现乱码。

下面是如何加密文本的简单示例:http://www.exampledepot.com/egs/javax.crypto/desstring.html

最新更新