0

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

では、誰かが代わりに ProgramB の名前を ProgramA に変更するとどうなるでしょうか? アセンブリ名が一致し、再びライセンスが有効になります。これをより防弾にするためのアイデアはありますか?

繰り返しますが、これは単純な独自のソリューションであるため、難読化は行われず、私が知っているサードパーティのツールも存在しません。

ありがとう!

4

2 に答える 2

1

アセンブリ名 (ファイル名ではない) を lic ファイルに保存します。ファイル名を変更してもアセンブリ名は同じです。

さらに良いのは、アプリごとに異なる暗号化キーを使用することです。この方法では、exe または lic ファイルの名前が変更されても問題ありません。

于 2010-11-26T07:19:43.287 に答える
0

アセンブリに署名した場合、人々がアセンブリの名前をうまく変更できるとは思えません。

于 2010-11-25T11:11:48.697 に答える