WIN32_Processor:: ProcessorId, Уникальный для всех компьютеров

Я сделал немного программирования на Облегченном DS приблизительно 1 год назад. Основное аппаратное ограничение, которое я имел, работало с аппаратными средствами WiFi. Я нашел, что коммуникация DS-DS не была возможна с доморощенными библиотеками в то время. Я не уверен, изменилось ли это. Я также нашел, что Вы не могли сформировать Специальное соединение с другим устройством. Я должен был соединиться с 802.11b, сеть в инфраструктурном режиме и SSID должна была быть широковещательно передана.

Для разработки я использовал

я не рекомендую Суперкарту, Облегченную, поскольку это потребовало использования слота GBA и DS DS. В то время, когда это было единственной опцией. Существует теперь слот DS только решения, такие как R4. У меня есть друг, который использует R4 и имеет довольно хороший успех с ним, хотя я не использовал его сам.

15
задан casperOne 10 November 2010 в 13:30
поделиться

3 ответа

Нет, нельзя гарантировать, что оно будет уникальным, поскольку процессор может даже не поддерживать инструкцию CPUID , в этом случае не может быть гарантировано успешное выполнение вызова.

Кроме того, вы пренебрегаете тем, что в машине может быть несколько процессоров, поэтому получение идентификатора одного процессора не помогает.


Как указывали другие, если вы хотите получить уникальный идентификатор для системы, лучше всего будет для создания идентификатора, который представляет собой смесь идентификаторов различных компонентов в системе.

Хэш (и не просто любой, но имеющий очень несколько коллизий) различных значений оборудования может хватить . Вы, вероятно, захотите использовать вещи, которые достаточно встроены в систему, такие как процессор, информация о материнской плате, но не то, что легко отсоединить / изменить, например USB-накопители / концентраторы и т. Д.

лучше всего создать идентификатор, который представляет собой смесь идентификаторов различных компонентов в системе.

Хэш (и не просто любой, а тот, который имеет очень коллизий) различных значений аппаратного обеспечения могло бы хватить . Вы, вероятно, захотите использовать вещи, которые достаточно встроены в систему, такие как процессор, информация о материнской плате, но не то, что легко отсоединить / изменить, например USB-накопители / концентраторы и т. Д.

лучше всего создать идентификатор, который представляет собой смесь идентификаторов различных компонентов в системе.

Хэш (и не просто любой, а тот, который имеет очень коллизий) различных значений аппаратного обеспечения могло бы хватить . Вы, вероятно, захотите использовать вещи, которые достаточно встроены в систему, такие как процессор, информация о материнской плате, но не то, что легко отсоединить / изменить, например USB-накопители / концентраторы и т. Д.

17
ответ дан 1 December 2019 в 01:38
поделиться

Большинство систем лицензирования полагаются на несколько аппаратных компонентов для создания отпечатка пальца. Ни один компонент не используется в качестве единственного уникального ключа. Таким образом, вы можете принять во внимание следующее:

  • MAC-адреса всех сетевых адаптеров (могут возникнуть проблемы, если у них есть док-станция или включить / отключить беспроводную связь на ноутбуке)
  • CPUID
  • Номера компонентов материнской платы ( такие как контроллеры IDE или SCSI)
  • Серийный номер системного диска (НЕ ID тома, который легко изменить)
  • и т. д.

При объединении в одно целое вы получите уникальное представление машины. Опасность, конечно, возникает, когда пользователь что-то меняет на своей машине. Они теряют лицензию? Они должны с вами связываться?

Также обратите внимание, что классы WMI часто требуют прав администратора для чтения той информации, которую вы Мы ищем то, что было бы настоящей проблемой для пользователей Vista и Windows 7.

Выполнение аппаратной блокировки очень сложно сделать правильно. Так что я бы рекомендовал либо 1. не делать этого, либо 2. купить коммерческую библиотеку, которая уже делает это.

10
ответ дан 1 December 2019 в 01:38
поделиться

Для уникальной строки, которую вы ищете, мы используем MAC-адрес. Если у пользователя нет MAC-адреса , мы просто разрешаем несколько установок. Он охватывает большинство случаев, и это все, что мы хотели достичь.

1
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: