2

現在、Windows で C++ と SFML を使用して RPG ゲームを開発しています。現在はうまく機能していますが、すべてをチェックしていると、アイテム、インベントリ、クリーチャー、バトル、NPC、ショップなどのすべてのデータがテキストファイルに保存されているため、テキストで操作するのは非常に簡単であることに気付きました.編集者。

せめてこのデータを安易に改ざんされないようにしたい。明らかに、データがリリースとともに保存されるたびに、誰かがそれを通過して編集できるようになります。

エンジンだけでなく、マップ エディター、アイテム エディター、NPC エディターなど、将来構築されるツールを使用してデータを編集する機能を維持しながら、このデータを保護するための最善の方法を考えていました。自体。

私は主にこれを使用して言語をよりよく学習するため、自分で書いて、これがどのように達成するのが最善かについていくつかのアイデアを得ることを強く望んでいます. これがばかげていると本当に信じている人がいたら、私に知らせてください。オプションのライブラリを使用することを検討するかもしれません。

後で行う場合は、私が使用するのに適したものを推奨できる人に感謝します.

4

2 に答える 2

7

マップエディタ、アイテムエディタ、NPCエディタなどの将来的に構築されるツールやエンジンを使用してデータを編集する機能を維持しながら、このデータを保護するための最善の方法は何でしょうか。自体。

最善の解決策はないと思います。最も簡単な方法は、ファイルを暗号化し、キーをハードコーディングしてゲーム内で復号化することです。ただし、これは、キーを回復するためのバイナリのリバースエンジニアリングを妨げるものではありません。

于 2012-08-07T18:04:00.807 に答える
2

ゲーム エンジンにファイルをテキスト形式とバイナリ形式の両方で読み取らせます。バイナリ形式は、ファイル ディレクトリで zip 圧縮を使用するだけの単純なものにすることができます。次に、バイナリ ファイルにチェックサムを実装できます。

開発ではテキスト バージョンを使用しますが、ライブ ゲームではバイナリ形式の読み取りのみを許可し、チェックサムに失敗したファイルは拒否します。

誰かがチェックサムをリバース エンジニアリングするため、これはあまり安全ではありません。ただし、一般ユーザーがゲーム データを編集することはできなくなります。ゲーム クライアントがゲーム データのチェックサムをサーバー上の既知の適切なチェックサムに対して検証することで、これをより安全にすることができます。

于 2012-08-07T18:07:34.770 に答える