سؤال

ما هي أفضل طريقة لتوليد معرف أجهزة فريدة من نوعها على Microsoft Windows باستخدام C ++ غير المرغوب فيه غير متباينة بسهولة (مع تغيير عنوان MAC)؟

هل كانت مفيدة؟

المحلول

يخزن Windows GUID فريدا لكل جهاز في التسجيل في:

HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\MachineGuid

نصائح أخرى

هذا اعتاد أن يكون الرقم التسلسلي وحدة المعالجة المركزية ولكن اليوم هناك العديد من أنواع اللوحات الأم وهذا العامل غير دقيق. يمكن بسهولة مزورة عنوان MAC. هذا يتركنا مع الرقم التسلسلي القرص الصلب الداخلي. أنظر أيضا: http://www.codeproject.com/articles/319181/haeprati-searching-for-a-Relable-hardware-id.

هناك مجموعة متنوعة من "الحيل"، لكن الإجابة المادية الحقيقية الوحيدة هي "لا، لا يوجد حل".

"الجهاز" ليس أكثر من حافلة سلبية مع بعض الأجهزة حولها. على الرغم من أن كل قطعة من الحديد يمكن أن توفر معرفا غير قابل للاستخدام بطريقة أو بأخرى، يمكن استبدال كل قطعة من الحديد من قبل مستخدم لأي سبب سيء أو جيد لا يمكنك أن تدرك تماما (لذلك إذا قمت بتأسيس وظائفك على هذا، فأنت تنشئ مشاكل المستخدم، وبالتالي -As - لنفسك - لنفسك في كل مرة يجب استبدالها / إعادة تهيئة / إعادة تكوينها، إلخ).

الآن، إذا كانت مشكلتك تتعرف على جهاز في سياق حيث يتعين على العديد من الآلات بين العمل معا، فهذا هو دور يلعب جيدا بواسطة Mac أو عناوين IP أو HostNames. ولكن كن مستعدا لفكرة أنها ليست ثابتة بالضرورة في فترة طويلة لفترة طويلة (لذا تجنب المشكلات الخاصة بها - بدلا من ذلك "اكتشف ثم" على أي من بدء التشغيل الخاص بك)

إذا كانت مشكلتك - تحديد مثيل البرامج أو ترخيصا، فمن المحتمل أن تكون من الأفضل التركيز على نوع آخر من الحل: يمكنك بيع التراخيص إلى "المستخدمين" (هو المستخدم الذي يحتوي على المال وليس جهاز الكمبيوتر الخاص به!)، ليس ل "آلاتهم" (يجب أن يكون المستخدمون أحرارا للتغيير كلما احتاجوا إليه / مثل دون إذنك، لأنك لا ترخيص الأجهزة أو نظام التشغيل ...)، وبالتالي فإن مشكلتك ليست لتحديد جهاز، ولكن مستخدم (يعتبر أن الجهاز نفسه يمكن أن يكون مضيفا للعديد من المستخدم وأن المستخدم نفسه يمكن أن يعمل على مجموعة متنوعة من الآلات ...، لا يمكنك افتراض / فرض علاقة 1: 1، دون الركض في نوع من المشاكل أو في وقت لاحق، عندما وجدت هذا IFS IFS ليس أكثر ملاءمة).

يجب أن تكون الفكرة لتسجيل المستخدمين في موقع قابل للوصول إلى حد ما، ومنحهم مفاتيح تولد، وتحقق من أن زوج المستخدم / المفتاح نفسه غير مستخدم يستخدم مؤقتا أكثر من عدد متفق عليه في غضون فترة زمنية معينة. عند تجاوز المخالفات، أو تصبح المفاتيح قديمة، ما عليك سوى حظر وانتظر المستخدم للتجديد.

كما ترون، تعتمد الإجابة في الغالب على السبب وراء سؤالك، أكثر من السؤال نفسه.

هناك العديد من المعرفات المعينة للأجهزة التي يمكن قراءتها ومجتمعة لتشكيل مفتاح الجهاز. على سبيل المثال، يمكنك الحصول على معرف القرص الصلب حيث يتم تخزين البرنامج، ومعرف Proc، إلخ. يمكن تعيين بعض هذه بسهولة أكبر من غيرها، ولكن جزء من القوة في الجمع بين القطع متعددة معا والتي ليست بالضرورة قوية بما فيه الكفاية لأنفسهم.

هنا هو برنامج (متاح أيضا باسم دلل) يمكن أن يقرأ وإظهار معرف الكمبيوتر / الأجهزة: http://www.soft.tahion.com/download-hdd_id/index.html.

استخدم نظام Win32 HDS. لا تقرأ السجل، ليس له معنى على الإطلاق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top