C++加密和解密Lua文件

标签 c++ lua encryption

我有一个用 C++ 编写的程序(一个小游戏),它从 Lua 文件(它们基本上是程序的模块)获取配置。例如,程序从 Lua 文件中获取其名称、版本、允许和不允许执行的操作以及播放器可以执行的操作。问题是当我开始将这个小游戏分发给几个人时,他们可以配置我不想发生的 Lua 文件,所以我想过加密它们然后在程序启动时解密它们但我无法理解如何以何种方式真正做到这一点。总而言之,这是否像我想象的那样是一项相当简单的任务?

我的看法是这样的:用某个程序以某种加密方式对lua文件进行加密。将 C++ 代码写入程序,首先解密 Lua 文件,然后开始读取它们。这个概念正确吗?加密本身可以尽可能弱,只要它有效。

最佳答案

通过使用 luac,我终于能够使它全部正常工作。

我用这句话用 luac 编译它(在那里,tester.lua 是输出文件的名称,test.lua 是编译的文件):

luac -o tester.lua test.lua

无论编译与否,它都会自动运行。现在的问题是,任何人都可以将已编译的 lua 文件与一个未编译的版本放在一起,它仍然可以工作,因为 dofile 会同时读取普通的和已编译的 lua。你们有什么建议作为解决方案,以便 dofile 只读取已编译的 lua 文件而不是未编译的文件?

关于C++加密和解密Lua文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19839389/

相关文章:

c++ - 基于范围的for循环可以在一个范围内工作吗

python - 如何将变量值从 C++ 传递给 Python?

c++ - 我的 bst 实现有什么问题吗?

c - 当对象/表被垃圾回收时如何通知主机应用程序

c++ - 将 Lua 类对象存储到 C 指针并将其推回 Lua Stack

java - 无法将加密格式从 Java 复制到 PHP

c++ - 在默认构造函数中可见的继承类的 c++ 计数器的实现

lua - Vararg (`...` ) 函数参数不适用于 `arg` 变量

c - 如何使用 C 语言中的文件编写凯撒密码加密代码

ios - 使用 AES 进行部分加密 - IOS 应用程序