ライセンスの目的で、ネットワークMACアドレスを一意のマシンIDとして使用したいと思います。これは標準的な方法ですが、いくつかの欠点があると思います(クライアントがネットワークカードを交換する場合、追加のロック解除コードを要求する必要があるクライアントに対処できます)。
ただし、クライアントが自分のマシンにvmwareをインストールする場合、これにより仮想ネットワークインターフェイスが追加されませんか?そして、これらを実際のものと区別する方法はありますか?
はい。ただし、仮想Macアドレスは特定の範囲内にあります。また、彼らがそれをvmwareボックスに入れて移動した場合、多くの場合、デフォルトでこれは彼らのMACアドレスも変更したいと考えています。彼らはそれを知っている必要があるでしょう。
このマシンには検索するvmwareがありませんが、特定のコードで始まります。Vmsにも特定のコードがあるのと同じように
プログラムに常に最初のネットワークカードにアクセスするように指示した場合、最初のカードとして設定しない限り、追加するかどうかは問題ではないと思います (実際または仮想)。
ソフトウェアをハードウェアにロックすることは、ユーザーにとって非常に不便であり、ソフトウェアの使用を停止する可能性があります。
Web サービスを使用してソフトウェアを認証することを検討したことがありますか?
次のように:
クライアント --> Web サービス --> データベース
Web サービスは、ユーザーが正しいユーザー名/パスワードを入力したかどうかを確認し、true/false を返します。
とにかく、本当にハードウェアにロックしたい場合は、マザーボード/CPU/ハードドライブなどのハードウェア ID を実際に組み合わせることをお勧めします。
詳細については、次を参照してください。
http://www.codeproject.com/Articles/17973/How-To-Get-Hardware-Information-CPU-ID-MainBoard-I