2010-11-28 16 views
-1

自分のソフトウェアを使用している人が他の人にアプリのコピーを送信できないようにしたい。私ができると思っているのは、このようにプライベート/パブリックキーの暗号化を使用することです。ユーザーにWebサーバーのデータベースに保存されているアクティベーションコードを送信します。その後、ユーザーがアプリケーションを初めて実行したときに、サーバーにコード+ハードウェアに関する情報が送信されます。暗号化された文字列をサーバーの秘密鍵で復号化し、復号化された文字列をユーザーに送り返します。アプリケーションは、この文字列を格納し、アプリが実行されるたびに公開鍵で暗号化して、アプリケーションがハードウェア情報+コードに一致するかどうかをチェックします。しかし、私はこれを行う簡単な方法があると思います。私は本当に多くのセキュリティを必要としません。なにか提案を?C#アプリの簡単なソフトウェア認証ですか?

編集:実際に私の公開鍵/秘密鍵のトリックはまったく動作しません。数学的に...

+0

なぜそれはうまくいかないのですか?それはうまく聞こえる。 – logicnp

+0

使用するライセンス方式が何であれ、アセンブリでも難読化を使用していることを確認してください! – logicnp

答えて

2

C#アプリケーションを保護するのは非常に困難です。私は何か些細なことをまとめるだろう。(もしそれが違うなら、 "unauthorized"メッセージを送り返す)いくつかのユニークな識別情報を使ってサーバにメッセージを送る。まともなスキルを持っている人なら誰でもMSILを開いて認可チェックビットを削除することができますので、あまり時間を費やすことはありません。

0

実際には、シリアライズされた変数を作成し、プログラムが起動したときにそのコンピュータに保存します。最初の実行からファイルが失われている場合は失われてしまい、新しいユーザーであるサーバーにシリアル化されたファイルが作成されますが、初めてではない場合、シリアライズされたファイルがロードされ、ユーザーインターフェイスがブロックされます。シリアライズされたファイルは隠されています。マイクロソフトには多数のフォルダがあります。サーバーへのアクセスは最小限に抑えられ、1回だけ発生します。プログラムが開かれた最初ではないことをプログラムに知らせるクエリを起動すると発生します...

コンピュータのIDは定数..シリアル化されたファイルがユニークかもしれないので..それまであなたはどのようにoそれをユニークにする...

関連する問題