2011-05-11 17 views
2

私は先に大きなプロジェクトを持っていますが、基本的にオンラインのハザードゲームのようなものです。ポーカーのようなものです。私の問題は、クライアント側にどのように接近するのが良いか分かりません。セキュリティで保護されたクライアントGUIアプリケーションにはどのような技術をお勧めしますか?

ゲームにはリアルマネーが含まれるため、セキュリティは大きな問題になります。サーバー側にとっては、すべての通信が暗号化されるため、私が選択したものに大きな違いはないと思うが、私はクライアントについてさらに心配している。

私のJavaの経験から、デコンパイラがかなりあり、バイトコードはおそらくそれほど難しいことではありません(私は間違っています)。

ゲームには2dグラフィックスが必要なので、GUI開発を少なくとも少しスムーズにする技術を試してみたいと思います。

私の他の考えはFlashに関するものでしたが、多くのオンラインカジノでFlashが使われているのを見たことがないので、Java/.NETよりも少し脆弱ですか?

私がここで尋ねようとしているのは、いくつかの魅力的な2Dグラフィックスを備えた非常に安全なクライアント側のGUIアプリケーションを開発するためにどのような技術をお勧めしますか?

答えて

3

私の意見では、セキュリティで保護されたクライアントはありません。あなたが何をしていても、誰かがそれを逆コンパイル/リバースエンジニアリングします。特にリアルマネーが関与している場合は特にそうです。私があなただったら、サーバーを安全にすることに集中します。すべてのクライアントがハッキングされていると仮定し、何かを行い、不正行為をすることができるすべてを行います。

クライアントがハッキングする可能性があることを考えれば、私はクライアントソフトウェアについて意見がありません。あなたが望むものを選んでください。 obfuscatorを使用して速度を落とすことがありますが、これはクライアントの問題をデバッグする際に苦労します。

私はインストールについての意見を持っています。インストールする必要のないものがあれば、はるかに簡単です。つまり、ゲームは完全にウェブサイトで実行されます。

+1

この答えに同意してください。Javaは簡単に逆コンパイルできますが、あなたができるのは難読化です。 .NETについては、新しい低レベル関数を導入し、以前のデコンパイラをねじ込んだSDKの最新バージョンまで容易に逆コンパイルできました。しかし、私はずっとこのことには期待していません。 – dendini

0

これは私の意見ですが、あなたが望むことをするために存在する技術はありません。現在、クライアントサイドアプリケーションの理解の難しさを増すテクノロジーがあります。例えばJavaと.Netは非常に見やすいです。 ByteCodeとILは、どんな形でも形や形で安全ではありません。それらに難読化を追加して、バーを上げることができます....しかし、それはまだ安全ではありません。コンパイルされた完全なアプリケーションに行くこともできますが、それでもクラック可能です。コンピュータがアプリケーションを理解することができれば、プログラムを壊す可能性のある人間がどこかにいるでしょう。

あなたのアプローチは間違っています。誰もアクセスできないサーバー内のすべてのロジックを構築し、クライアントアプリケーションを使用してUX部分を簡単に処理する必要があります。あなたのコードを守る唯一の安全な方法は、あなたにそれを持たせることではありません。そして、悪用できないAPIを設計してください(例えば、クライアントがサイコロを振ってしまわないようにしてください)

関連する問題