Web ページで有効なシリアルを入力した後にダウンロードされる Windows プログラムがあります。ここで、ユーザーが最初にインストールした 1 台の PC だけにプログラムをインストールするように制限したいと思います。
そのようなシステムを作成するためのアドバイスが必要です。ありがとうございました。
PS シリアル キーは、インストーラーではなく Web ページで入力する必要があります。
Web ページで有効なシリアルを入力した後にダウンロードされる Windows プログラムがあります。ここで、ユーザーが最初にインストールした 1 台の PC だけにプログラムをインストールするように制限したいと思います。
そのようなシステムを作成するためのアドバイスが必要です。ありがとうございました。
PS シリアル キーは、インストーラーではなく Web ページで入力する必要があります。
通常の解決策は次のとおりです。
システムを説明するハッシュを作成し(GIYF、正確な取得方法はわかりません)、シリアルと組み合わせると、ユーザーがプログラムをインストールするときにシリアルを入力する必要があります。入力したキーをシリアルとシステムハッシュに分割し、システムハッシュとシリアルが保存されているキーと一致するかどうかを確認してから、別のキー(またはシリアルがすでに使用されている場合はエラー)を返すWebサイトで入力する必要のあるキープログラムに参加します。
Macアドレスをシステムキーとして使用することは、簡単に偽造される可能性があるため、適切な解決策ではありません。
問い合わせを行うクライアントのマシンで実行されるダウンロード可能なActiveX制御プログラムを作成する必要があるようです。
そして、情報をWebサイトに中継し、キーを生成し、ダウンロードインストーラーにキーを添付して、ユーザーがインストーラーをダウンロードできるようにします。インストーラーでは、実行時にキーが読み込まれ、実行中のマシンと照合されます。の上。
唯一のことは、ActiveXをC / C ++で作成する必要があることです。これは、クライアントのマシンにランタイムがインストールされていることを前提としているため、.NET言語では作成できないため、IMHOは危険な前提です。
これがお役に立てば幸いです、よろしく、トム。
シリアル番号は、いくつかのハードウェア構成に基づいています。ハードウェアが変更された場合は、シリアル番号を無効にしてください。Microsoft Windowsは、製品のアクティブ化中にこのタイプのアプローチを使用します。
これがいくつかの助けになることを願っています。
カスタムインストーラーを作成する場合は、インストールが成功すると、ハードウェアから生成されたシリアル番号と、ファイルのダウンロードに使用したシリアル番号を送信する確認応答をWebサーバーに送信できます。
次に、同じシリアル番号でハードウェアシリアルが異なる場合は、ソフトウェアをアクティブ化できなかったことを示す応答を返すことができます...
編集
ここにハードウェア情報の取得に関するいくつかの情報があります(.NET環境を想定していますが、使用している環境でも同様のものを見つけることができます)。
Webサービスとデータベースをセットアップします...インストールできるように検証する必要があります。現在のモデルの問題は、ソフトウェアをサーバーの背後で保護または非表示にしていることです。あなたは、たとえ彼らがそれを使うことができないとしても(通常)人々にソフトウェアを持たせたいです。実行時にソフトウェアのロックを解除するには、シリアルキーステージが必要です。
コンピュータゲームで動作する唯一のモデルです。
さまざまなハードウェアをポーリングしてGUIDを生成し、それをプロダクトキーに対してハッシュする必要があります。そうすれば、再現性がありながら複雑で、偽造が難しいデータが得られます。
http://edn.embarcadero.com/article/26040GUIDを取得するための.comインターフェイスへのリンク
別の方法は、sysinfoやdxdiagのようなものを使用して、rseultsをファイルに保存することです...それをハッシュして、シリアルとして使用します。必要なコーディングははるかに少なくなりますが、少し面倒です。
これを保存し、インストールキーを発行します。再インストールを簡単に見つけて管理できます。つまり、あなたは本当に行きたくないのです'コンピュータはノーと言います'-それは本当にマーケティングの機会です
インストール時にキーをブロックし、アンインストール時にキーのブロックを解除してみてください。そうすれば、各アンインストールの間に1回だけキーを使用できます。