最も単純なメカニズムは、コンポーネントごとにレジストリキーを作成し、デフォルトで0に設定し、技術者に1に変更させることです。プログラムはユーザーがアクセスしようとするたびにレジストリキーをチェックしますアプリケーションのオプション部分の1つ。
ライセンスキーが0または1の代わりに格納されることがあります(生成されたライセンスキーがすべて共有されるいくつかの秘密のプロパティに基づいて)アプリケーションのオプション部分にアクセスできるようにします。これには、誰がどのキーを与えられたのか記録を残すことができるという利点があります。ソフトウェアがインターネット上でコピーを開始すると、誰がライセンスキーを共有したのか分かります。また、オプションのコンポーネントのロックを解除するのは難しくなります(それほど難しくありません)。
問題は、いずれの場合も、あいまいさによるセキュリティの犠牲になり、支払いを行わずに完全なプログラムのロックを解除するのは簡単です。契約のペナルティ条項に頼らざるを得ず、それらの値を変更したり、ライセンスキーを共有することを脅かさなければなりません。顧客のマシンがインターネットに接続している場合は、定期的にレジストリキーの値をWebサービスに提出して、遵守を確認することができます(これは悪です)。
残念ながら、それは物語の終わりのようなものです。 ハードウェアを設計したプラットフォームであっても、時間の経過とともに精査を受けてきた技術ベースのDRMスキームは成功していません。基本的に私が言っているのは、これは未解決の問題なので、それを考え直してはいけません。
私は暗号化されたxml構成ファイルを作成します。これにより、新しい設定ファイルを配信することができ、レジストリエントリと暗号化されていないファイルを同時に変更することはできません。 –