我正在做的是为了好玩而制作控制台二十一点。我想省钱,以便用户可以每天玩,但我不想将其保存在文本文件中,用户可以随意更改金额。
我已经想过使用密码制作隐藏文件或加密文件,但我不喜欢那样。我希望它有点像当你打开一些随机的 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