パッケージの圧縮とオープンソースC#クライアント保護

こんにちはコミュニティ。



プログラミングでの私の道:ASP VBスクリプト>> VB.Net >> C#、CとC ++を使用しています。

長い間、私はオンラインRPGを書き(約9年)、今では公開オンラインテストの段階に達しました。



クライアント部分はC#で記述されており、誰でも学習(改善)できます。

ハッカーや他の人のサーバーを壊す愛好家についての妄想はありません(私は願っています;-))-私のソースを気にする人はいないことを完全に理解していますが、サーバーに送信されたパケットは、クライアントのよく知られた、検証されたバージョン。

したがって、サーバーに使用されるクライアントのハッシュコードを送信するプラグインプライベートプライベートライブラリの形式で保護を実装し、さらにすべてのパケットを暗号化/復号化/圧縮/解凍します。 つまり、クライアントがネイティブDLLを使用せずにダミーハッシュコードの送信を実装する場合、攻撃者はパケット処理のバージョンも実装する必要があります。



いくつか質問があります。

1.これはクライアントを保護する正しい方法ですか? そのようなタスクを実装する既製の実際のメソッドがあるかもしれません。

2.ハンドラーを実装するためにネイティブDLLを調べることが難しいかどうか、そしてこのエントリーしきい値はどれくらい高いか。



ゲームは非常に大規模なミックスになると予想されるため、両方向のトラフィックを最小限に抑えることが非常に重要であるように思えます。 すべてのオブジェクトをシリアル化するには、冗長性のないバイトコードで「手動」メソッドを使用します(つまり、重要なバイトのみが含まれます)+ VLQアルゴリズムrosettacode.org/wiki/Variable-length_quantity + over ZIP圧縮を使用して数値を圧縮します。

質問:

3. VLQ、ZIPを使用してパッケージを処理するためにネイティブC DLLをわざわざ作成するのは理にかなっています(覚えておいてください、私はこの言語にほとんど精通していません)。



PS-このメッセージを質問に転送する方法は?



All Articles