【发布时间】:2013-11-19 07:14:52
【问题描述】:
我有一个用 C++ 编写的程序(一个小游戏),它从 Lua 文件中获取配置(它们基本上是程序的模块)。例如,程序从 Lua 文件中获取它的名称、版本、它可以做什么和不可以做什么以及玩家可以做什么。问题是当我开始将这个小游戏分发给几个人时,他们可以配置我不想发生的 Lua 文件,所以我考虑过加密它们,然后在程序启动时解密它们,但我就是无法理解如何实际去做,以什么方式去做。总而言之,这是一个像我想象的那样简单的任务吗?
我怎么看是这样的:用某种程序以某种加密方法加密lua文件。将 C++ 代码写入程序,首先解密 Lua 文件,然后开始读取它们。这个概念正确吗?加密本身可以尽可能弱,只要它有效。
【问题讨论】:
-
顺便说一句,为什么不让人们更改文件呢?人们通常认为能够修改游戏是一项巨大的奖励。如果您担心作弊,您可以存储每个文件的哈希值,以便您可以检测它们是否已被修改,并显示警告(或者,例如,如果他们的哈希值不同,则禁止人与人之间的多人会话其他)
-
没错,很多人都喜欢能够修改游戏。原因,就像你想的那样,对我来说加密 Lua 文件是为了对抗作弊者。如果我什至能够加密或以某种方式阻止对某些可以修改为使用作弊的 Lua 文件的修改,那么我会很高兴。其余的 Lua 文件可以留给用户根据需要进行修改。实现该哈希功能对我来说可能太难了,我相信或者至少我还不能理解它的概念,所以看起来非常困难。
标签: c++ lua encryption