2011-01-31 7 views
0

私は、サーバーに戻ってきたレポートが改ざんされていない(ハッキングされている)ようにするためにスコア提出システムを作成しています。データ提出プログラムをハックする方法

要求に認証または暗号化するためにプログラムにパスワードまたはプライベートパスキーを格納できることはわかっていますが、プログラムがデコンパイルされていると、狡猾なハッカーがパスワード/パスキーを抽出してレポートを改ざんすることができます。

完璧な解決策はありますか?

ありがとうございます。

答えて

2

いいえ、詐欺師にとっては難しいことです。

あなたはどのような環境で実行しているかは言いませんが、コード認証の問題を解決しようとしているようですね。*:実行しているコードが実際にあなたが思っているものだと分かっています。これは、オンラインゲームを永遠に苦しめ、良い解決策を持っていない問題です。に提出を変更するために、デバッガを使用し

  • 浮気できるようにバイナリを変更

    • キャプチャ、修正および提出のリプレイをサーバー
    • に:そのようなシステムは、一般的に破壊されるのを

      一般的な方法 - プログラムがメモリの前に署名/暗号化を適用するメモリ

    パンクバスターは、これらの問題のいくつかを解決しようとするシステムの例です:http://en.wikipedia.org/wiki/PunkBuster

    はまたhttp://en.wikipedia.org/wiki/Cheating_in_online_games

    チャンスは考える、これはおそらく、あなたのゲームのためにあまりにも難しいです。あなたのバイナリに公開鍵を隠し、それを残すすべてのものに署名することは、おそらくあなたを安全保障上のパッケージよりもずっと先に置くでしょう。

    *謝罪、私は実際にこれの正式な名前が何であるか覚えていません。私は "実行中のコード認証"を考え続けているが、Googleはその言葉のために何も出てこない。

  • +0

    これは残念です。あなたの詳細な答えをありがとう。 – Garrows

    1

    あなたが行うことができることは1つあります。ユーザー入力のすべてを記録し、提出の一部としてサーバーに送信します。次に、サーバは、スコアを決定するためにゲームエンジンのローカルコピーを介して入力を再生することができる。明らかに、これはあらゆる種類のゲームには適していません。ゲームによっては、リプレイの保護が必要な場合があります。


    ゲームの一部タイプのために適切かもしれないもう一つの方法は、申請中の高スコアプレイの録画を含めることです。ハイスコ​​アテーブルのビデオへのリンクと、疑わしいエントリを報告するリンクを提供します。これはあなたに "群集 - ソース"のチート検出をさせます - チーターのスコアが1位のテーブルに当たった場合、スコア2から10までのプレーヤーはあなたのためにビデオを検証する大きなインセンティブを持っています。スコアが十分に報告された場合は、ビデオを自分で確認し、削除する必要があるかどうかを判断して、ユーザーの使用を禁止することができます。

    +0

    うーん...それはかなり賢いです。ありがとう。 – Garrows

    +0

    @ Garrows:うまくいくかもしれない方法についてもう一つ考えました。 – caf

    +0

    おそらくあなたが得られる最高のものです。しかしボットやコンピュータ支援のプレーヤーはまだ可能です。そして、ゲームを操作するこの種のリプレイが決定的になる必要があるという技術的問題があります。たとえば、順序付けられていない特定のコンテナに対する浮動小数点の丸めや反復で問題が発生する可能性があります。もちろん、マルチスレッド化は正しいロックでも非確定性につながる可能性があります。 – CodesInChaos

    関連する問題