0

クライアントに展開したい Excel アドインがあります。現在は.xlamファイルです。Excel アドインがソフトウェアを配布する最良の方法ではないことはわかっていますが、それが私が持っている方法です。私の質問は、このアドインが意図したクライアント以外のコンピューターで使用されないようにするにはどうすればよいですか?

私は次のことを検討しました:

  1. アドインは、わかりにくい場所にファイルが存在するかどうかをチェックします。存在する場合は、手順 6 に進みます。
  2. ファイルが存在しない場合は、ランダムな文字の組み合わせでファイルを生成します。そして、これを登録情報としてユーザーに表示します。
  3. その後、ユーザーは弊社に連絡してアクティベーション コードを取得します。
  4. ソルトハッシュアルゴリズムを使用してアクティベーションコードを作成し、それをユーザーに送り返します。
  5. ユーザーはこのアクティベーション コードをプロンプトに入力します。マクロはそれを検証し、アクティベーション コードを の保護されたシートに保存し.xlamます。
  6. 次に、マクロは、保護されたシートのアクティベーション コードがファイルのコードに対して有効であることを確認します。そうでない場合は、アクティベーションを求めるプロンプトが表示されます。
  7. ファイルとアクティベーションが一致する場合は、アドインの機能へのアクセスを許可します。

上記のアイデアで私が抱えている問題は次のとおりです。

  1. ファイルをどこに保存する必要がありますか? また、現在のユーザーがその場所にファイルを作成することを許可しないマシンについてはどうすればよいですか?
  2. ユーザーがこれらのファイルの存在を発見するのは簡単でしょうか? ファイルが別のコンピューターにコピーされた場合、アドインはそれを検証し、問題なく動作します。
  3. アドインをアップグレードすると、アクティベーション コードが失われます。これは、保護されたシートの代わりに 2 番目のファイルを使用して保存すると、実際には簡単に修正できます。
4

1 に答える 1

2

インストール パスワードを必要とする XLA/XLAM インストーラー (Setup Factory、InstallShield など) を作成するのはかなり簡単です。ただし、XLA/XLAM 自体のカジュアルなコピーを防ぐことはできません。
しかし、XLA/XLAM の主な問題は、ハッキングされやすいことです。そのため、XLA/XLAM 自体に組み込まれたアクティベーションを制御するライセンス コードは安全ではありません。これは、対象とする視聴者に応じて重要な場合とそうでない場合があります。
セキュリティを強化するには、ライセンス システムをより安全な言語、できれば完全にコンパイルされた DLL または難読化された .NET アセンブリでコーディングする必要があります。これを行うために、ネット上で利用可能なさまざまな事前構築済みのソリューションがあります。

于 2013-06-21T09:12:45.890 に答える