1

私は Facebook でいくつかの小さなフラッシュ ゲームを持っています。チートエンジンで不正行為を防ぐにはどうすればよいですか? 私の swf ファイルは、スコアを php でデータベースに送信します。チート エンジンを使用してフラッシュ ゲームのハイスコアをハッキングしてほしくありません。これらの問題を回避する最善の方法は何ですか?

前もって感謝します..

4

5 に答える 5

4

私が使用する2つの方法は次のとおりです

SpeedHackウォッチドッグ

http://www.bjoernacker.de/flash/detecting-the-cheat-engines-speedhack-in-as3/

このクラスを使用して、ユーザーが CheatEngine を使用してフレーム レートを下げているかどうかを判断します。

別の方法では、変数をプロキシに格納するためのボールト クラスを作成します。このボールトは変数を別の名前空間 (チート エンジンが変更できない名前空間) 内に格納します。

http://troyworks.com/blog/2007/08/05/introspection-in-as3-use-of-namespace/

于 2012-07-19T10:13:11.913 に答える
3

はい、できます:

これは非常に優れた簡単な方法です。

http://www.riawolf.com/?p=20

于 2012-07-19T10:48:02.200 に答える
1

簡潔な答え; できません。

長い答え; 大変な作業です。1 つのオプションは、ゲームのサーバー側ポートを作成し、すべてが決定論的であることを確認し、すべてのプレイヤー アクションを送信してサーバー側ポートで検証することです (失敗した検証はすべて破棄します)。

于 2012-07-19T09:39:43.793 に答える
0

スコアに乱数を追加し( 100 としましょう)、それをどこかに表示するときに減算します。この後、SWF ファイルを難読化します。したがって、次のようなものがあります:myScores = 100;。スコアが 15 の場合、メモリには 115 という数字があり、115 ではなく 15 を探します。次に、115 から 100 を引き、表示される実際のポイントを取得します。swf を逆コンパイルしないように保護することが重要です (難読化するソフトがたくさんあります)。PHPに送信するときに、独自の暗号化/復号化関数も実行します;)

于 2013-07-31T12:59:54.130 に答える
0

それらのいくつかはサーバー上で確認でき、ユーザーの手順を確認できますが、ハイスコアを再生してゲームが有効かどうかを確認するよりも、ゲームを記録してスコアで保存することもできます。

于 2012-07-19T18:04:19.733 に答える