windows - 端末固有情報 - レジストリ guid 取得




コンピュータを一意に識別するための良い方法は何ですか? (10)

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography

「MachineGuid」キーは、Windowsのインストール中に一意に生成され、ハードウェアのスワップに関係なく変更されます(OSがインストールされている起動可能なハードドライブの交換は別として)。

私のおすすめ

そのMachineGuid、ハードディスクのシリアル番号、マザーボードのシリアル番号、およびUUIDを使用できます。 一緒にSHA 256または他のHASH機能を使用してHASHします。

UUID - wmic csproductがUUIDを取得する

MachineGuid - HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography

ハードディスクのシリアル番号 - シリアルディスクドライブのシリアル番号

BIOSのシリアル番号 - Wmic BIOSがシリアル番号を取得する

マザーボードシリアル番号 - Wmicベースボードシリアル番号取得

私は再販するクライアントのためのいくつかのデスクトップソフトウェアを開発しています。 クライアントは、登録コードが唯一のコンピュータに限定されるようにソフトウェアを制限したい。

ネットワークカードからのMACの使用に加えて、誰もコンピュータを一意に識別するための他のテクニック(WindowsとMac OS Xの両方で動作する)を持っていますか?


MotherBoard固有のシリアル番号の使用はどうですか?


どのように焼けたSN、ハードドライブ、proc、RAMなどがあるものをハッシングするのですか?このハッシュは、部品が交換されるまでコンピュータに残ります。


または、単にアクティベーションコードを設定せずに、EULAに書き込まれた監査権限を持っていることを確認し、随時監査する権利を行使することができます。

作品はオラクルに不思議です。


ユーザが一度入力しなければならないシリアルキーを作成することができる。 これには、ユーザーのメールアドレス([email protected]のようなもの)を含める必要があります。 これは、多くの人々がそれを改ざんしようとしたり、他の人にそれを与えるのを止めるでしょう。 アクティベーション中に、シリアルキーが存在する場合、ソフトウェアはオンラインdbと照合する必要があります。


レジストリを開き、

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography

"MachineGuid"というキーを見つけてください。このキーはWindowsのインストール中に一意に生成され、ハードウェアのスワップに関係なく変更されます(OSがインストールされている起動可能なハードドライブの交換は別です)。 これは、OSごとにトラッキングインストールを維持したい場合、これは別の方法です。 Windowsを新しく再インストールしない限り変更されません。


別の解決策は、 dongleライセンス技術を使用することです。 これは、USBまたはホスト上の別のI / Oポートに接続する小さなデバイスで、ソフトウェアをアクティブにするためのユニークで物理的なキーとして機能します。

第3の解決策は、 ライセンスマネージャを提供することである。 つまり、ソフトウェアが起動すると、ネットワーク上のサーバー(顧客のLAN上にあるか、またはインターネット経由で貴社の会社にアクセスしているか)に照会し、お客様のソフトウェアの使用が合法であることを検証します。 これは "コンカレントライセンス"の優れたソリューションであり、お客様は多くのホストにソフトウェアをインストールできますが、限られた数のホストで同時に使用できるようにライセンスを取得することができます。 FLEXnet Publisherは、ライセンス管理ソリューションの一例です。

ネットワークカードのMACアドレスは、特定のホスト上で実行するソフトウェアのライセンスを取得した会社で前回使用したソリューションです。

ただし、このタイプのライセンスを行う場合は、お客様のライセンスを追跡するための継続的な管理作業になることが予想されます。 一度あなたは数百の顧客を持っていると、あなたはキーを変更する要求で電話を受ける頻度に驚くでしょう

「サーバをギガビットネットワークアダプタにアップグレードしたところ、新しいアダプタには異なるMACアドレスが割り当てられているため、ライセンスは機能しません」

または、お客様はマシン全体を交換し、新しいマシンでソフトウェアを実行するための更新されたライセンスが必要になることがあります。 私は働いていた会社でこれらの電話を実際に毎日受けました。

また、古いコンピュータ(またはネットワークアダプタ)でソフトウェアを使用することを中止するには、顧客に新しい鍵を渡すことを信頼する必要があります。 あなたが最初にライセンスに従うことを信じられない場合は、古い鍵を捨てることをどのように信頼することができますか?

この管理活動をどのようにサポートするのか計画していない場合は、この方法で製品のライセンスを取得しないでください。 あなたは、とにかく協力していたあなたの良き顧客だけに不便を感じます。


最終的に交換できる多くの部品でコンピュータが構築されていると仮定すると、コンピュータを一意に識別する確実な方法はありません。

MACアドレス、HDDディスクのシリアル番号、マザーボードのシリアル番号などの一部のハードウェア部品は、「一意性」のいくつかの優れた情報源ですが、お客様がライセンスが依存する部分をアップグレードするかどうかを知ることができます。いくつかの顧客サポート。 また、いくつかの部分が偽装されている可能性があることも覚えておいてください(MACがそれらの1つです)。

オンラインライセンスのチェックは別の良い方法です。サーバー側のすべてを管理し、独自のルール(クライアント/インストールごとのライセンス数、並行性など)を定義することもできますが、大きな問題は接続は確立できませんか?


私はここで悪魔の主唱者を演奏して、このようなことはおそらく "一般公開"で議論するのが最善のことではないことを伝えます。

それは、他人がやり遂げた可能性のあることを見て、おそらくそれを改善する(あるいはその一部を取り除く)ということです。 あなたが言ったように、MACアドレスはおそらく大丈夫です。 私は、Windowsや他のプログラムがハードドライブの情報(シリアル番号)を使用していると聞いたことがある - このサイトによれば、Windows Activationは10種類のアイテムをチェックし、それらをユニークなキーにする。


私はこれについていくつかの経験があります。 私のソリューションでは、製品をクライアントに販売するときにサービスキーを発行します。

クライアントは、アプリケーションをインストールするときに、クライアントマシンのマザーボードシリアルを読み取ってキーを生成します。 クライアントは、インストール時に生成されたサービスキーとキーを組織に電子メールで送信し、製品をアクティブ化することになっています。

当社は、発行アクティベーションキーで組織の管理アプリケーションを管理しています。 特定のサービスキーのキー用のアクティベーションキーは1つだけ提供します。

私たちはコピー枚数を販売しましたが、それは問題なく実行されます。 しかしその後、マザーボードのシリアル番号を提供していないコンピュータがいくつか見つかりました。 これらのマシンは、マザーボードのシリアル番号としてヌル値を返します。 それでも私たちはこの問題を解決しようとしています。





uniqueidentifier