ハイスコアをサーバーに送信するゲームを Flash で作成しています。改ざんを防ぐためにサーバー側でいくつかの予防策を講じることを計画していますが、チェーンの弱点は Flash そのものです。不正行為ツールを使用して、プレーヤーはメモリ内の変数を監視および調整できます。
ほとんどの Flash/SWF 難読化ツールは、人々が SWF を (簡単に) 逆コンパイルできないようにすることを目的としていることを認識しています。それらは不正行為防止メカニズムとしてまったく役立ちますか?
ハイスコアをサーバーに送信するゲームを Flash で作成しています。改ざんを防ぐためにサーバー側でいくつかの予防策を講じることを計画していますが、チェーンの弱点は Flash そのものです。不正行為ツールを使用して、プレーヤーはメモリ内の変数を監視および調整できます。
ほとんどの Flash/SWF 難読化ツールは、人々が SWF を (簡単に) 逆コンパイルできないようにすることを目的としていることを認識しています。それらは不正行為防止メカニズムとしてまったく役立ちますか?
あなたが言ったように、難読化ツールは逆コンパイルされたコードを読みにくくする方法に過ぎず、信頼できる保護ではありません。代わりに、変数が変更されていないこと、またはインスタント T などの許容範囲内にあることを確認するために、独自の保護を構築する必要があります...
クライアントから提供された回答を信頼することはできませんが、すべて問題がないかどうかをサーバー側で確認する必要があります。
暗号化の形式を使用すると、ほとんどの場合うまくいきます。as3のフラッシュで使用できる暗号化ライブラリがいくつかあります。これらはサーバー側のASPまたはPHPにも実装できます。
まだ SWF 難読化ツールを探している場合は、私が最後に取り組んだプロジェクト用に開発したものをリリースします。それはまだ進行中の作業ですが、オープンソースで無料で、私のプロジェクトではうまくいきました。使用方法とライセンスの詳細については、github サイトを参照してください。
ゲームをサーバー上でのみ実行する場合は、受信トリックで信号の送信元を検出し、ドメインからのもの以外を無視することもできます. スコアを送信するために専用ドメインから実行する必要がある場合、コードを改ざんするのは本当に面倒です。