私がやっていることは、楽しみのためにコンソール ブラックジャックを作ることです。ユーザーが毎日プレイできるようにお金を節約したいのですが、ユーザーが好きなように簡単に金額を変更できるテキストファイルに保存したくありません。
隠しファイルやパスワード付きの暗号化ファイルを作成することはすでに考えていましたが、それは好きではありません。ランダムなdllファイルを開いたときのように、理解できない意味不明なものが表示されるようにしたいのです。
ユーザーが統計情報を改ざんするのを防ぐ確実な方法は、統計情報をユーザーから離れたリモート サーバーに保存することです。ただし、これには、ユーザーがプレイ中にオンラインである必要があります。OTOH トッププレイヤーのはしごなどを表示できます。
オフライン ストレージが必要な場合は、暗号化されたファイルがおそらく最適なルートです。ファイルを適切に非表示にするだけです。
ファイルを変更する前に、その変更時間を読み取ります。アップデート後、時刻を戻してください。ユーザーは、どのファイルが変更されたかを理解するのが難しくなります。
フォーマットで許可されている内部のデータ ブロックを使用して、ゲームで使用される無害なファイルを使用します。暗号化された文字列をコメントに格納する XML ファイルである可能性があります。既知のオフセットで、暗号化された文字列をコメントまたは EXIF セクションに格納する JPG または PNG ファイルである可能性があります (ファイルを解析する必要はありません)。WAV、OGG、MP3 では、解釈されていないデータを含めることもできます。実際のピクセル値などの中にデータを隠す場合、これは実際のステガノグラフィではなく、はるかに簡単です。
逆アセンブラーとデバッガーを備えた断固としたクラッカーがこのスキームをクラックできることを理解していると思います。しかし、平均的なユーザーはおそらく気にしないでしょう。
ファイル内の値を暗号化できます。http://dinofilias.com/encrypt.htmを参照してください。 このような基本的な暗号化では、ユーザーがキーにアクセスできない限り、データは比較的安全です。
ステガノグラフィについて話しているように聞こえますが、従来の暗号化の方がおそらく安全で実装が簡単です。
暗号化を使用して、意味不明な内容を含むファイルを持つ効果を得ることができます。暗号化されたデータをバイトとして保存するだけです (ASCII 表現に変換されません)。暗号化されたデータは 0x00 から 0xFF までの値を持つことができるため、意味不明になります。
テキストを暗号化する方法の簡単な例を次に示します: http://www.exampledepot.com/egs/javax.crypto/desstring.html