2011-08-02 12 views
0

ウェハプロービングシステム用にVB.netで設計されたプログラムがあります。このソフトウェアには標準装備の3つの主要コンポーネントとオプションの3つがあります。顧客が3つの選択肢を持たないことを決定すると、それは無効にされているがプログラムに残っている。ある時点でオプションを購入することに決めた場合、技術者の1人がそこに行き、コンポーネントを有効にするために管理者アカウントでプログラムにアクセスできる必要があります。公開Vb.netプログラムへの管理アクセス?

これを達成する最も簡単な方法はありますか?

+1

私は暗号化されたxml構成ファイルを作成します。これにより、新しい設定ファイルを配信することができ、レジストリエントリと暗号化されていないファイルを同時に変更することはできません。 –

答えて

2

最も単純なメカニズムは、コンポーネントごとにレジストリキーを作成し、デフォルトで0に設定し、技術者に1に変更させることです。プログラムはユーザーがアクセスしようとするたびにレジストリキーをチェックしますアプリケーションのオプション部分の1つ。

ライセンスキーが0または1の代わりに格納されることがあります(生成されたライセンスキーがすべて共有されるいくつかの秘密のプロパティに基づいて)アプリケーションのオプション部分にアクセスできるようにします。これには、誰がどのキーを与えられたのか記録を残すことができるという利点があります。ソフトウェアがインターネット上でコピーを開始すると、誰がライセンスキーを共有したのか分かります。また、オプションのコンポーネントのロックを解除するのは難しくなります(それほど難しくありません)。

問題は、いずれの場合も、あいまいさによるセキュリティの犠牲になり、支払いを行わずに完全なプログラムのロックを解除するのは簡単です。契約のペナルティ条項に頼らざるを得ず、それらの値を変更したり、ライセンスキーを共有することを脅かさなければなりません。顧客のマシンがインターネットに接続している場合は、定期的にレジストリキーの値をWebサービスに提出して、遵守を確認することができます(これは悪です)。

残念ながら、それは物語の終わりのようなものです。 ハードウェアを設計したプラットフォームであっても、時間の経過とともに精査を受けてきた技術ベースのDRMスキームは成功していません。基本的に私が言っているのは、これは未解決の問題なので、それを考え直してはいけません。

+0

+1は "This is Evil"のコメントです。 DRMは本当に働いたことがありません。私の購入したLotus 1-2-3の友人が当日に戻ってきて、元のディスクを持っていたという事実に非常に悩まされたので、彼はそのプログラムを分解し、DRMチェックをしなかった。それ以来、プログラムは彼がディスクを持っていない場合にのみ機能しました。 –

関連する問題