<分区>
我正在开发一种加密游戏数据文件的方法,该方法将用于我正在创建的游戏引擎中。游戏数据文件将使用私钥加密,并在加载到游戏引擎后解密。
私钥将在引擎中手动设置(作为常量),以便将其编译到引擎中。然而,诀窍在于对其进行混淆处理,这样普通的 Joe Bloggs 就无法(轻松地)通过反汇编和逆向工程代码找到 key 。
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
};
我的想法是将 key 存储在与随机生成的字节混杂在一起的段中。我的问题是:
有没有办法在 C++ 宏中随机生成一个数字?该数字必须在编译时随机生成(或者每个随机值都设置为用户选择的随机值),因此任何运行时函数都不好。
如果有更好的方法,我愿意接受任何建议,但我绝对希望游戏数据文件使用私钥/公钥对加密,并且公钥尽可能保密。