私はアプリケーション用のいくつかの外部モジュールを開発しています。
これらのモジュールはBPLファイルであり、アプリケーションフォルダーに存在する場合、アプリケーションはそれらをロードし、内部で利用可能なものをすべて使用します。
クライアントによるこれらのモジュールの共有を防ぐにはどうすればよいですか?
モジュールの使用を許可する必要があります(モジュールごとに)。
ある種のライセンス、モジュールの登録を取得するには、どのような方法が最適ですか?
ありがとう
私はあなたのクライアントがすべてある種の一意のID(シリアル番号、ライセンス番号)を持っていると思います。クライアントの1つにBPLを合法的に渡す場合は、BPL自体+BPLの名前のハッシュを含むファイル+ユーザーのライセンス番号の2つのファイルをクライアントに渡します。ハッシュを検証できない場合は、BPLをロードしないでください。BPL自体をハッシュしないように注意してください。ウイルスに感染したために、BPLを使用できない顧客を混乱させることになります。
BPLに次のような関数をエクスポートさせますfunction OkForClient(ClientID:string):Boolean
。これにより、検証をBPLからBPLに変更できます。
最初のオプションのハッシュファイルを、攻撃者がアルゴリズムを知っていても再現できないものに置き換えるために、非対称暗号化について1週間学習します。