質問

私は開発の一部のデスクトップソフトウェアのためのクライアントへの販売促進を支援.の顧を制限するソフトウェアに登録コードする特有のを一つだけます。

他のMACからネットワークカードは、誰にでもいその他の技術(することができるWindowsおよびMac OS X)を一意に識別します。

役に立ちましたか?

解決

少し値段が高くなりますが、使用ライセンス技術 ドングル.この小さなデバイス差し込むUSBまたは別のI/Oポートをホストとして、物理キーのソフトウェアです。

第三の溶液を提供する ライセンスマネージャ.これはソフトウェアが起動し、クエリ、サーバのネットワークはお客様のLANまたは他のアクセスの会社でインターネットと検証は、お客様の利用のソフトウェアが妥当である。このソリューションのための"同時ライセンス"でお客様がソフトウェアをインストールする多くのホストがライセンスで同時利用数に限する。 FLEXnet Publisher 例ライセンス管理ソリューション.

MACアドレスのネットワークカードがソリューションを使った最後の時間働いていました会社とライセンスソフトウェアに特定のホスト.

ただし、提供したい、注意:いタイプのライセンスすることを期待でき 継続的な管理や英 追跡顧客のライセンスを持つスタッフです。だって数百人のお客様んどのくらいの頻度お電話でのお申し出には応じら変更キー

"更新しました当社のサーバー、ギガビット ネットワークアダプター、および現在のライセンス なので新しいアダプター 異なるMACアドレスです。"

または他のお客様はそれぞれ差し替えて全体の機械が必要になり更新ライセンスをお客様のソフトウェアの新しい機です。またこれらの話をほぼ毎日、会社いたします。

また、信頼のお客様の利用停止ソフトウェアのコンピュータやネットワークアダプタ)そのような新しい鍵となる。ませんでしたが、少し足を延ばせば信託のことを守るように、彼らのライセンスにどのようにすることができますの信頼とい捨ての旧ーション-キーとは何ですか。

ない場合はプランをどうすること管理活動なライセンス商品になります。まで大変良いのお客様、協力してくれました。

他のヒント

私はここに悪魔の提唱者を再生すると、このようなものはおそらく「パブリック」で議論する最良のものではないことを教えてくれます。

そうは言っても、

、他の人が行っているかもしれないものを見て、おそらく上の改善(またはの一部を取る)それを。 MACアドレスは、あなたが言ったように、おそらく使用しても大丈夫です。 に応じて - 私は、Windowsやその他のプログラムは、ハードドライブ情報(シリアル番号)を使用することを聞きましたこのサイトで、Windowsのライセンス認証は、10種類の項目をチェックして、一意のキーにそれらを作る。

最善の方法は、WindowsでC#を使用してUUIDを取っている。

マシン

public string GetUUID()
{
    var procStartInfo = new ProcessStartInfo("cmd", "/c " + "wmic csproduct get UUID")
    {
        RedirectStandardOutput = true,
        UseShellExecute = false,
        CreateNoWindow = true
    };

    var proc = new Process() { StartInfo = procStartInfo };
    proc.Start();

    return proc.StandardOutput.ReadToEnd().Replace("UUID", string.Empty).Trim().ToUpper();
}

私だけの利用のMACアドレスを要求しを要求ユーザー登録とする。クライアントにして専門的なアプリケーションを取ることを要請キーとアクティベーション-キーは、ユーザーでの利用を活性化するためのソフトウェアです。再起動は、ソフトウェアの作品は、作品のない時には商家を検証す。

ことになる場合でした。こうして、納得のクライアントこたん。

その理由はこれらの制度を実 ない 防止のたコードからのひび割れいしの生活を純正のお客様に硬くなっていきます。いにくいその他の業界の方の迷惑に本物のお客様にスキームも、この目標達成に向けその他の行政サービスはもちろん:-).

の場合 必要 こんなトークンをするための契約上の義務がなくクライアントのすべてが)になる。のMACアドレス(または乱数の場合、 $DEITY 禁止、コンピュータのないネットワークカード)してキーを使用したプログラムで XOR では、ASCII文字列をアクティベーション-キーになりそう加工可能です。またパーミションキーからいたいと思っているソフトウェアを起動があれば変更がネットワークカード(またはマザーボード)なども見ることとして同じコンピュータとなれば幸いでのソフトウェアは停止します。

コードになると割れるものでない限りプログラムはゴミ思うでない場合は)この方法も行っている真の顧客ニーズの移動そのソフトウェアを別の機械がお客様の会社が応じなんだか(滴を支援したい。

主なく すべての スキームに依存するのユニークなビットのハードウェアは、お客様の選択を変えるビットのハードウェア:

  • ゴーストをディスクの内容をより大きなハードディスクでのHDシリアル番号が変化します。
  • 使用CPUシリアル番号手段へのアップグレードの最新インテルbigmutha CPUを殺御ソフトウェアです。
  • を用いるMACアドレスすることを変更することができませんそのNIC.

これらのすべての固定用している場合は、それらの数値を鍵でインストール時にだけチェックに対するキーは変更後の値を半減します。いやぁ、すばらしいですねぇる請求および活性値がアップデートとなります必要としないユーザーへの再活性化をソフトウェアです。いいdespiseまいます。

アイデア、私はいくつかのシリアル番号または一意のIDのハードウェアに関連を使用してそれらを一緒にハッシングさをいじるいます。

アップグレードされます。

物事: -memory -MACs(詐称することができ、USBアダプタは、プラグイン取得など。)

多くの場合、アップグレードされません。

物事: -CPU -BIOS -Motherboard

WMICを使用すると、いくつかの情報をつかむための素晴らしい方法することができ、私は最初、好ましい選択肢として頻繁に変化しないものをつかんで開始すると、私は、少なくとも2つのシリアル番号やデバイスを指紋できるようにしたいと思います登録キーを生成するために使用します。

wmic cpu get DeviceId /format:value

これは、CPUのIDをつかむだろう、あなたがのためにそのコマンドを実行することができます:

1 - CPU(CPU:のDeviceID) 2 - マザーボード(ベースボード:のserialNumber) 3 - BIOS(BIOS:serialNumberを)

あなたは、少なくとも2つの人口の値を取得しない場合は、その後、グラブ

4 - ネットワークアダプタ - (NIC:たMACAddress) 5 - RAM - (memphysical:のSerialNumber)

あなたがあなたの登録番号を作成するために使用可能な最初の2つのシリアル番号を使用することができ、あなたのビジネスロジックに応じて、あなたは常に上、同じ順序に従っている場合、登録番号がまだ動作します再インストールがあれば、デバイスの変更やユーザーは、登録番号を無効セカンダリコンピュータIDの変化にインストールしようとします。技術サポートの量を減らすためには、あなたが頭痛の最低額を与える指紋ハードウェアの最低額を呼び出して、あなたが最も可能性の高いアイテムを指紋しようとした場合、さらに頭痛を減少させることをアップグレードします。私の好みは、上記の順序です。

あなたは、登録サーバーが公開/使用する登録サーバまでこの情報を渡し、その後、ユーザーはペイロードとしてのハードウェアIDが持つpulic /秘密鍵のペアを生成させるのDiffie-Hellman鍵交換スキームを使用することができます秘密鍵は、ペイロードを復号化し、エンドユーザーに戻って戻るために登録キーを計算します。私は、JWTのペイロードに含まれる彼の公開鍵witht前後に物事を渡すJWTを使用したいです。ホープことができます。

UUIDは、前述した、あなたはあなたの窓のcmd.exeから以下のコマンドを使用して、それを得ることができる素晴らしいアイデアですしてます:

wmic csproduct get UUID /format:value      

これらのコマンドはWindowsのみのために働く免責事項は、私が2000年と上だと思うが、あなたは2000以下のシステムのため、彼らは多分利用できる検証する必要があるだろうが、その時点で私は実際にそれらのデバイスをサポートしないようにしてください。幸運ます。

Macの場合:

system_profiler | grep "Serial Number (system)"

Linuxの(Debianの)オンます:

sudo dmidecode -t system | grep "Serial Number"

dmidecodeのとsystem_profilerは、それが窓にWMICに似てからシリアル番号をつかむことができ、他のコンポーネントがあります。私は正確な仕様のリストを確認するが、LCD(最小公倍数)のリストを作成することはできませんので、私はすべての3つのコマンドがアクセスできる部品のシリアル番号を一緒に入れて、少なくともそうに手入れされたMac上では動作しません。パーツは、アップグレードまたは変更します。そして、ハッシュ化されたトップ2-3数字の組み合わせは、少しより堅牢だと、クロスプラットフォームのアプリが、システムが更新されたオペレーティングいても、デバイス上で有効にすることを可能にする独自のマシンIDのために作ることができます。

あなたは、コンピュータが最終的に交換することができ、多くの部品を使用して構築されたと仮定した場合、

、一意のコンピュータを識別するために、何の確実な方法はありません。

一部のハードウェア部品 - MACアドレスなどHDDのディスクのシリアル番号、でもマザーボードのシリアルは、 - 「一意」のいくつかの良い情報源ですが、クライアントはライセンスが依存する部分をアップグレードすることを決定した場合、あなたが知っているかもしれないとして、...一部の顧客サポートのために準備されます。 また、心に留めておくべき(MACはそれらの一つである)いくつかの部分がスプーフィングすることができるということである。

あなたは、サーバー側ですべてを管理し、でもそれのために独自のルールを定義することができます(どのように多くのクライアントごとにライセンス/インストールし、並行処理、など)が、注意すべき大きなものがある -

オンラインライセンスチェックが行くには、別の良い方法です接続が確立できない場合に何が起こるか?

どのようにマザーボード固有のシリアル番号を使用してはどうですか?

レジストリを開き、

に移動します

HKEY_LOCAL_MACHINE \マイクロソフト\暗号化\ SOFTWARE

このキーは、Windowsのインストール時に一意に生成され、それが(離れてOSが上にインストールされたブート可能なハードドライブを交換するから)に関係なく、任意のハードウェアスワップの変更はありません「MachineGuid」と呼ばれるキーを検索します。それはあなたがOSごとに追跡のインストールを維持したい場合は、これは別の代替であることを意味します。あなたは、Windowsの新鮮な再インストールを行う場合を除き、それは変更されません。

CPUの、限り私も見てきたようにインプリントのシリアル番号がありました。この情報(PSN、ペンティアムシリアル番号)が廃止されました。情報はおそらくまだ存在していてもよいが、少なくともP3の世界でそれが消えていました。また、私はホストのために使用される主なインタフェースのためのNICのMACアドレスの当然の選択は現実的な可能性として考慮されるべきだと思います。あなたのクライアントは、イーサネットインターフェイスは、彼らがに販売するホスト上に存在することが期待されていない場合を除きます。

あなたは追加オプションで可能性が高く、この「権利」を取得し、また、あなた(またはあなたのクライアント)を提供します、サードパーティライセンスユーティリティを検討するかもしれない要件が変更(と彼らは常にではないのですか?)すべきです。私は名前でいくつかの特定のものを言及するだろうが、私は実際にそれら密接に慣れていないんだよ。

私はこの上でいくつかの経験を持っています。私たちは、クライアントに製品を販売する際、私の解決策では、サービスキーを発行します。

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

私たちは問題のアクティベーションキーで組織の管理アプリケーションを維持します。私たちは、特定のサービスキーのキーのための唯一のアクティベーションキーを提供します。

私たちは、部数を販売し、それが問題なく動作します。しかし、その後、私たちは、マザーボードのシリアル番号を提供していない一部のコンピュータを見つけました。これらのマシンは、マザーボードのシリアル番号としてNULL値を返します。まだ我々はこの問題を修正しようとしています。

それはそれは部品を交換しています持ってまで、

どのように焼き付けられたSN、ハードドライブ、PROC、ラム、などを持っている何かをハッシュ化について...このハッシュはコンピュータに残ります。

一つは、ユーザが一度入力する必要があること、シリアルキーを作成することができます。 これは、ユーザーの電子メールアドレス(someuser@mailprovider.com-9828372-398232のようなもの)を含める必要があります。これは、それを改ざんまたは他の人にそれを与えるためにしようとするから、多くの人々を停止します。 シリアルキーが存在する場合にはアクティベーション中、本ソフトウェアは、オンラインDBに対してチェックする必要があります。

それとも、単に何のアクティベーションコードを持っていないし、あなたがEULAに書き込まれた監査権限を持っているし、随時監査する権利を行使確保することができます。

は、Oracleのための驚異を働かせるます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\暗号化

"MachineGuid"キーが生成され独特のインストール中にWindowsでは変わらないと思いますの如何を問わず、ハードウェアのスワップ以外のものを交換するブートできるハードドライブのOSを設置します。からないのです。

私の提案

を利用することができMachineGuid、ハードディスクのシリアル番号、マザーボードシリアル番号のUUID.一緒にハッシュを使って社256その他のハッシュ機能です。

UUID -wmic csproduct得UUID

MachineGuid -HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\暗号化

ハードディスクのシリアル番号 -wmic diskdrive得serialnumber

BIOSシリアル番号 -wmic bios得serialnumber

マザーボードシリアル番号 -wmic基板を取得しserialnumber

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top