私が作成しているゲームエンジンで使用されるゲームデータファイルを暗号化する方法を開発しています。ゲームデータファイルは秘密鍵で暗号化され、一度ゲームエンジンに読み込まれると解読されます。C++マクロの乱数
秘密鍵はエンジンに手動で設定され(constとして)、エンジンにコンパイルされます。しかし、そのトリックは、あなたの平均的な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]:http://stackoverflow.com/a/17420032/653372 – nergeia
_ @ orangething_あなたは自分に尋ねているのですか?まあ、私はサービスにいます。 –