【发布时间】:2012-05-15 03:22:01
【问题描述】:
我正在开发一种加密游戏数据文件的方法,该方法将用于我正在创建的游戏引擎中。游戏数据文件将使用私钥加密,并在加载到游戏引擎后解密。
私钥将在引擎中手动设置(作为常量),以便将其编译到引擎中。然而,诀窍是在其中混淆它,这样普通的 Joe Bloggs 就无法(轻松地)通过反汇编和逆向工程代码找到密钥。
struct Example {
u_int8_t random1;
u_int64_t segment31;
u_int8_t random2;
u_int8_t random3;
u_int64_t segment3;
u_int64_t segment14;
// Etc
};
我的想法是将密钥存储在与随机生成的字节混在一起的段中。我的问题是这样的:
有没有办法在 C++ 宏中随机生成一个数字?该数字必须在编译时随机生成(或者随机值每个设置为用户选择的随机值),因此任何运行时函数都不好。
如果有更好的方法,我愿意接受任何建议,但我绝对希望使用私钥/公钥对加密游戏数据文件,并且公钥尽可能保密。
【问题讨论】:
-
您可以查看:[使用 C 预处理器生成随机数][1] [1]:stackoverflow.com/a/17420032/653372
-
@orangething 如果你问自己?好吧,我在服务。
标签: c++ random macros obfuscation