C++を使用して簡単にスプーフィングできない(MACアドレスを変更するなど)Microsoft Windowsで一意のハードウェアIDを生成する最適な方法は何ですか?マシンキーを形成するために読んで組み合わせることができ、ハードウェアに割り当てられた様々なIDがありますWindowsでハードウェアIDを生成する
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\MachineGuid
C++を使用して簡単にスプーフィングできない(MACアドレスを変更するなど)Microsoft Windowsで一意のハードウェアIDを生成する最適な方法は何ですか?マシンキーを形成するために読んで組み合わせることができ、ハードウェアに割り当てられた様々なIDがありますWindowsでハードウェアIDを生成する
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\MachineGuid
:
Win32システムHDS APIを使用します。 レジストリを読まないでください。全く意味がありません。ここで
リンクを共有しますか? HDSは何も起こさない。 –
は、お使いのコンピュータ/ハードウェアIDを読み込み、表示することができます(DLLとしても利用可能)プログラムです:http://www.soft.tahionic.com/download-hdd_id/index.html
これがマザーボードの多くの種類があり、この要因があるCPUのシリアル番号が、今日にするために使用しました正確ではない。 MACアドレスは簡単に偽造することができます。これにより、内蔵ハードディスクドライブのシリアル番号がわかります。また、http://www.codeproject.com/Articles/319181/Haephrati-Searching-for-a-reliable-Hardware-ID
さまざまな "トリック"がありますが、唯一の実際の "物理的回答"は "いいえ、解決策はありません"です。
「マシン」は、一部のハードウェアが周辺にあるパッシブバスに過ぎません。 各アイロンは何らかの有用な識別子を提供することができますが、すべてのアイロンは、あなたが完全に意識することができない悪いまたは正当な理由でユーザーに置き換えることができます(この機能に基づいている場合、ハードウェアの交換/再初期化/再構成などが必要になるたびに、自分自身に影響を与えます。
ここで、多くのマシンが相互に連携して動作しなければならないコンテキストでマシンを識別する問題がある場合、これはMACアドレスまたはIPアドレスまたはホスト名がうまく果たす役割です。しかし、長期間に渡って必ずしも一定ではないという考えに準備してください(起動時に「発見」する代わりに、ハードコードするのは避けてください)
問題がある場合は、ソフトウェアインスタンスやライセンスを特定する場合は、別の種類のソリューションに集中する方がよいでしょう。つまり、「ユーザー」(自分のコンピュータではなく、お金を持っているユーザー)にライセンスを販売し、あなたはあなたの許可なしに必要なときにいつでも自由に変更する必要があります。ハードウェアやOSのライセンスを取得していないので...)あなたの問題はマシンを特定するのではなく、ユーザーを特定することですマシンは多くのユーザーのためのホストになることができ、同じユーザーがさまざまなマシンで作業できるようになります。遅かれ早かれ問題が発生することなく、1:1の関係を仮定/強制することはできません。このイディオムifsそれ以上は適合しないと判明した)。
ユーザーは多少の到達可能なサイトにユーザーを登録し、ユーザーが生成するキーを与え、同じユーザー/キーのペアが所定の時間内に同意回数以上使用されていないことを確認する期間。違反を超えたり、キーが古くなると、ユーザーをブロックして更新を待つだけです。
お分かりのように、答えは主に疑問の背後にある理由によります。
「簡単になりすます」ことを定義します。つまり、あなたの祖母はハッカーのエリートのみ、または誰もしませんか? – GalacticCowboy