1

私はオンライン モードでゲームを開発していますが、それはオープンソース (SourceForge) であり、誰でもコードをダウンロードし、チェックをハックして、ハッキングされたクライアントで公式サーバーと対戦することができます。

私はEXEファイルのmd5チェックについて考えてきましたが、誰でも本物のmd5sumを計算してサーバーに送信し、そのランタイムチェックをバイパスできます。

クライアントが変更されていないことを保証する方法はありますか? すべてがハッキングされる可能性があるため、サーバー側のチェックを使用する必要があることはわかっています。他のオプションは、コードの一部をコミットせず、すべてのファイルを持っている自分のコンピューターでのみコンパイルされた EXE ファイルをリリースすることですが、それは SourceForge の規則に反すると思います。

4

1 に答える 1

4

あなたが述べたように、サーバー上のすべてを確認する必要があります。
ソース コードをリリースするかどうかに関係なく (Reflector を思い出してください!)、クライアントを信頼してはなりません (それ自体の整合性も含めて)。

ただし、(理想的には) チートを不可能にする必要はないことに注意してください。そのタスクを合法的に達成するよりも、不正行為によってタスクを達成するのを難しくする必要があるだけです。
理性的な人は、カンニングをしなくてももっと簡単にできるのであれば、何かを成し遂げるためにカンニングをしません。

ただし、通常より難しくても、ハックの挑戦のためにカンニングをする人もいます。

于 2012-01-06T02:26:44.207 に答える