こんにちは、Microsoft の LicenseProvider モデルと公開/秘密キーのペアを使用してコピー保護メカニズムを実装し、ある PC から別の PC にプログラムがコピーされるのを防ぎました。とてもシンプルです。起動時に、コンピュータ、有効期限、およびこのライセンス ファイルの対象となるアセンブリ名に関する暗号化された情報を使用して、ライセンス ファイルを作成する必要があります。しかし、誰かがライセンス ファイルの名前を MyProgramA.exe.lic から MyProgramB.exe.lic に変更したらどうなるでしょうか。両方のプログラムが同じ方法でコピー保護されている場合、.lic ファイルの名前を変更するだけで、有効な ProgramB ライセンスを取得できます。これが、アセンブリ名を .lic ファイル内に保存した理由です。アセンブリ名は一致する必要があります。
では、誰かが代わりに ProgramB の名前を ProgramA に変更するとどうなるでしょうか? アセンブリ名が一致し、再びライセンスが有効になります。これをより防弾にするためのアイデアはありますか?
繰り返しますが、これは単純な独自のソリューションであるため、難読化は行われず、私が知っているサードパーティのツールも存在しません。
ありがとう!