プログラムのプロダクト キー レジストラを作成しようとしています。データベースまたは辞書タイプの製品キーが必要で、プログラムに入れずに毎日新しいキーを作成し、毎回再配布できます。どこから始めればいいのかわからないので、誰かアイデアがあれば投稿してください
ありがとう、
ケビン
プログラムのプロダクト キー レジストラを作成しようとしています。データベースまたは辞書タイプの製品キーが必要で、プログラムに入れずに毎日新しいキーを作成し、毎回再配布できます。どこから始めればいいのかわからないので、誰かアイデアがあれば投稿してください
ありがとう、
ケビン
Advanced Installerを使用できます。ライセンスシステムが組み込まれています。
少し費用がかかりますが、長期的にはお金を節約できます。もちろん、自分で作ってみることもできます。自己完結型の登録は、データベースをチェックするものよりもセキュリティを確保するのが少し困難です。
最初は物事をシンプルにしてください。より複雑な、またはより厳しいセキュリティが必要な場合は、基本的なフレームワークを開発してから行ってください。
最初の一歩。Tiny Encryption Algorithm のようないくつかの単純な暗号化アルゴリズムを見てください。単一のキーを使用してファイルを暗号化および復号化することに慣れてください。
http://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm
次のステップ。多くのキー、それらを格納するためのデータベース、およびそれらに関連付けるためのある種の顧客 ID が必要になります。まず、顧客 ID が 100000 から始まる 6 桁の数字で、キーが 128 ビットの 16 進形式で、データベースが単純なテキスト ファイルであると仮定します。この時点で、次の 100 人の顧客のためにキーのバッチを生成するプログラムを作成するのに問題はないはずです。
3 番目のステップ。これでデータベースができたので、いくつかのスクリプトまたはアプリケーションをセットアップして、特定のファイルを暗号化し、顧客 ID ごとに 1 つずつ、キーで暗号化された複数のコピーを生成できるようにします。
4 番目のステップでは、ファイルを受け取り、それを鍵で復号化し、生成された実行可能ファイルをロードして実行する、短い単純なアプリを作成します。アプリが終了したら、復号化されたファイルを削除します。
現在、復号化して実行する小さなアプリは、顧客ごとに 1 つずつ、キーを配置して多数のバージョンで作成する必要があります。これを行う最善の方法は、キーと同じサイズの乱数を生成し、それを定数としてコードに配置することです。次に、それをコンパイルします。この時点で、grep などのツールは、実行可能ファイル内の場所を見つけることができます。復号化アプリで読み取る別の小さなアプリを作成し、タグを実際のキーに置き換え、一致する復号化されたアプリケーションと共に配布する復号化のバージョンを書き出します。
この後、TEA よりも優れた復号化アルゴリズムを調べたいと思うかもしれませんが、輸出法に抵触するほど強力なものは使用しないでください。
これは決心した泥棒を防ぐことはできませんが、カジュアルな泥棒を防ぐ必要があり、多くのことを学ぶことができます. アプリケーション自体の重要な部分を暗号化された USB キーに保存し、ハード ドライブに復号化されたコピーが存在しないようにすることで、より優れたセキュリティを実現できます。また、暗号化またはコード保護を改善する方法を見つけたと思うときはいつでも、間違っている可能性が非常に高いことを忘れないでください. 私たちよりもはるかに優れた頭脳は、暗号化の研究に一生を費やしてきました。一般的なルールは、受け入れられているアルゴリズムと使用法から少し逸脱すると、セキュリティが向上するのではなく、低下することになります。
Microsoft のシェアウェア スターター キット (無料) をチェックしてください。
http://blogs.msdn.com/danielfe/archive/2005/07/10/437293.aspx
有効なコードの中央リポジトリを保持している場合、ソフトウェアのユーザーは、入力したライセンス コードが有効かどうかを判断するために、このリポジトリと通信するためにインターネット接続が必要になります。このスキームには、スケーラビリティの問題もある可能性があります。
一般的に使用される代替方法の 1 つは、特定の数学的関係を満たす bye データからコードを生成し、コードを検証して関係が保持されるかどうかを確認することです。
上記の概念に基づく非常に強力なアルゴリズムの 1 つは、暗号化 RSA アルゴリズムです。
RSA に基づく既製のライセンス システムを使用できる場合は、CryptoLicensingを確認してください。
独自の登録および保護プログラムを作成することは非常に困難であり、通常は非常に簡単に破ることができます。すでにこれを行っている安価な商用製品をいくつか見てみてください。intellilockは安価であり、機能が充実していることに気付きました (それを製造する会社によって十分にサポートされていなくても、コミュニティによって十分にサポートされています)。