問題タブ [hardware-id]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Mac OS X の一意のハードウェア ID
Mac OS X の開発は、私にとってかなり新しい動物であり、いくつかのソフトウェアを移植している最中です。ソフトウェアのライセンスと登録のために、ある種のハードウェア ID を生成できる必要があります。派手なものである必要はありません。イーサネット MAC アドレス、ハード ドライブ シリアル、CPU シリアルなど。
Windows については説明しましたが、Mac についてはわかりません。私が何をする必要があるか、またはこれに関する情報をどこで入手できるかについてのアイデアは素晴らしいでしょう!
編集:
これに興味のある他の人のために、これは私が最終的に Qt の QProcess クラスで使用したコードです。
注: 私は C++ を使用しています。
c# - C#でハードウェアIDをすばやく取得するにはどうすればよいですか?
プログラムで、ライセンスをハードウェアIDに関連付ける必要があります。WMIを使用してみましたが、それでも低速です。
たとえば、CPU、HDD、マザーボードの情報が必要です。
php - ユーザーがWebブラウザを介してWebページにアクセスできないようにしますか?
私の友人と私はプログラムに取り組んでいます。このプログラムは、GETデータを当社のWebページに送信します。ただし、ユーザーがプログラム以外の方法でWebページにアクセスすることは望ましくありません。ユーザーがHWID認証を使用してプログラムを共有することを防ぐことはできますが、パケットスキャナーを使用してWebページのURLを取得することを妨げるものは何もありません。実装するユーザーエージェント認証について考えましたが、ユーザーエージェントは簡単になりすますことができます。
だから私の質問は、ユーザーがプログラムを介してではなく、直接Webページにアクセスするのを防ぐにはどうすればよいですか?
完全に機能する答えがない場合でも、それらを阻止するのに役立つものは何でもいいでしょう。
現在、以下を実装します。
プログラムUser-AgentAuthenticationを使用してWebページにアクセスするためのHWID認証適切なUser-AgentなしでWebページにアクセスするすべての人へのインスタントIPブラックリスト
authentication - ハードウェアIDとは何ですか?
私が定期的にアクセスするフォーラムの中には、プレミアムプログラムを販売しているものがあり、それらが漏洩するのを防ぐために、ハードウェアID認証を使用しています。つまり、最初に実行するプログラムを送信してHWIDを取得し、HWIDを通知してデータベースに保存してから、実際のプログラムを送信します。
HWIDがデータベースにない場合、プログラムは実行されません。では、Hardware-IDとは何ですか、そしてそれはどのように生成されますか?HWIDグラバーを送ってくれるプログラマーによってHWIDが違うのはなぜですか?
c# - Windows 用 Mono を使用して WMI にアクセスし、ハードウェア ID を取得する方法
最近、Windows プラットフォーム用の mono で winforms アプリを実行する必要がありますが、元のコードで WMI を使用して MAC アドレスと CPU ID を取得しています。Mono for Windows に切り替えても機能しません。「System.Management.dll」API が Mono に実装されていないことがわかりました。
どうすればいいですか?WMI を使用せずに CPU ID、MAC アドレス、ハードディスクのシリアル番号、およびマザーボードのシリアル番号を取得するにはどうすればよいですか?
windows - 一意のハードウェア ID を生成する信頼性の高い方法
質問:次のように、ネットワーク化されたクライアントごとに一意の ID を考え出す必要があります。
- クライアント ソフトウェアがターゲット コンピューターにインストールされると、それ (ID) は持続する必要があり、ソフトウェアが同じコンピューターと同じ OS インストールに再インストールされた場合でも持続する必要があります。
- ハードウェア構成がほとんどの方法で変更された場合 (マザーボードの変更を除く)、変更しないでください。
- クライアント ソフトウェアがインストールされたハード ドライブが、同一のハードウェア構成 (または可能な限り類似した構成) を持つ別のコンピューターに複製される場合、クライアント ソフトウェアはその変更を認識する必要があります。
少しの説明と裏話:
この質問は基本的に古くからの質問であり、ソフトウェアのコピー防止のトピックにも触れています。その分野で使用されているメカニズムのいくつかがここで言及されているためです。この時点で、コピー防止スキームを探しているわけではないことを明確にしておく必要があります。読んでください。:)
私は、ローカル ネットワークで動作するはずのクライアント サーバー ソフトウェアに取り組んでいます。私が解決しなければならない問題の 1 つは、ネットワーク内の一意の各クライアントを識別することです (それほど大きな問題ではありません)。これにより、特定の属性をすべての特定のクライアントに適用し、特定のクライアントの展開ライフタイム中にそれらの属性を保持および適用できます。クライアント。
解決策を探していたときに、次のことに気付きました。
- Windows アクティベーション システムは、ハードウェアの変更に非常に敏感なある種の重いフィンガープリンティング メカニズムを使用します。
- ディスク イメージング ソフトウェアは、すべてのボリューム ID (フォーマット時に各パーティションに結び付けられる) と、インストール プロセス中、最初の実行中、またはその他の方法で一意に生成されたカスタム ID に沿ってコピーします。ハードドライブ上にあるため、2 つを混同するのは非常に簡単です。
この種の問題に対する明らかな選択は、BIOS 識別子を見つけることです (ただし、これが同一のマザーボード モデルで一意であるかどうかは 100% 確実ではありません)。 、そしてそれは変更できません(少なくとも、ユーザー空間プログラムを使用することによってはできません)。それ以外はすべて、信頼性が低い (MAC の複製など) か、要求が高すぎる (構成の変更に敏感すぎるという点で) 失敗します。
私が尋ねたい副次的な質問は、私はそれを正しく、アーキテクチャ的に行っていますか? おそらく、私が達成しなければならないタスクのためのより良いツールがあるでしょう...
私が念頭に置いていた別のアプローチは、サーバーが接続されたクライアント ID の内部ルックアップ テーブルを維持するハンドシェイク メカニズムに似たものです (完全にソフトウェア ベースで、任意の時点で一意ではない場合もあります)。接続時に重複した ID が提供された場合、ハンドシェイク中に別の ID を考え出します。残念ながら、このアプローチは、有効期間中に属性を特定のクライアントに結び付けるという要件の 1 つにはうまく対応できません。
php - PHPページをロックするHWID?
現在、自分のWebページにアクセスするプログラムを販売しています。プログラムはHWID(ハードウェアID)でロックされており、Webブラウザーを介した直接アクセスではなく、プログラムを使用してWebページにアクセスする唯一の理由は、HWID認証を使用できるようにするためです。
ただし、ハードウェアIDなどのコンピューター情報を取得するためのスクリプトをコーディングできると言われたばかりです。
これは実際には完全にサーバー側で可能ですか?もしそうなら、PHPでそれを行うことはできますか?そうでない場合、これはどの言語になり、これを調べるためにどの機能を調べる必要がありますか?
c# - ハードウェアIDのヘルプ
私はC#と.NET2.0を使用しています。私のアプリはさまざまなユーザーをチェックするための何らかの方法が必要なので、ハードウェアIDを使用しますが、使用できるのは次の場合のみです。
- Macアドレス-簡単に変更でき、誰もが持っているわけではありません//いいえ
- プロセッサID-WMIを使用すると、CPUモデルの値が返されます。一意ではありません// NO
- マザーボードシリアル-すべてのマザーボードに搭載されているわけではありません//いいえ
- Windowsのボリュームシリアル-Windowsの再インストールとボリュームのフォーマットで変更されるかどうかはわかりません
それで、私がhwidについて言及しなかった何かがありますか?私は誰もが持っているものが欲しいです、そしてそれはウィンドウズの再インストールで消去されません。それ以外の場合は、Windowsのボリュームシリアル番号を使用する必要があります。
編集:コメントから、HDDIDを使用するのが最善だと思います。どうやって入手するの?EDIT2:SCSIドライブにシリアルがないことを読みました。本当?
最終編集:アプリでルートドライブシリアルをすでに使用しています。それはかなりうまくいきます。皆さんありがとう。
cocoa - Appleのモデル識別子(MacBookPro5,1)をわかりやすい名前に変換しますか?
Mac OS Xには、Appleのモデル識別子(plistやAPIにある種類、たとえば「MacBookPro5,1」)をこれらのデバイスの使いやすいマーケティング名(「UnibodyMacBook Pro Late2008」)に変換するAPIがありますか?
単にリストをハードコーディングするよりも、将来を見据えたソリューションを探しています。
activation - ソフトウェアをハードウェアに結び付けるための MAC アドレスの代わりになるものはありますか?
MACアドレスを使用する以外に、ソフトウェアのアクティベーションをマシンのハードウェアに結び付ける良い代替手段はありますか? ハード ドライブのシリアル番号は、常に利用できるとは限らないため、使用できません。また、マシン GUID は、私の測定値から常に Microsoft から保証されているわけではありません。他の考えはありますか?これには、Microsoft API またはテクノロジが使用されます。.NET 固有の参照はありません。