私はオンラインモードでゲームを開発していますが、これはオープンソース(SourceForge)です。誰でもコードをダウンロードし、ハックしたクライアントで公式サーバーに対して何らかのチェックを行い、プレイすることができます。C#opensourceゲームをハッキングから保護するにはどうすればよいですか?
私はEXEファイルmd5チェックについて考えていましたが、誰でも本物のmd5sumを計算し、そのランタイムチェックをバイパスしてサーバーに送信できます。
クライアントが変更されていないことを確認する方法はありますか?すべてがハッキングされる可能性があるため、サーバー側のチェックを使用する必要があることはわかっています。他のオプションは、コードのいくつかの部分をコミットしていないし、すべてのファイルを持っている私のコンピュータでのみコンパイルされたEXEファイルをリリースするが、それはSourceForgeのルールに反していると思う。
どのような不正行為を恐れていますか? – SLaks
あなたの質問は、クライアントが変更されているかどうかを検出する方法ですか? – ianace
これはターンベースのゲームです(ホテルのボードゲーム、モノポリーが好きなので)、お金や賞金があります。また、お金の金額や他のプレイヤーに有利なものを変更できます。 ハッキングを非常に難しくする(ソースコードを持たず、クライアントの変更をチェックする)ことは最高ですが、不可能なようです。ありがとう! – Beto