Golden Basim Ответов: 2

Как найти уникальный идентификатор/код (не может быть изменен) для каждого устройства ?


привет,
Для выдачи лицензий на определенный компьютер, что было бы хорошим способом определить уникальный, глобально отличный компьютер (windows) на основе их аппаратного обеспечения.

Что я уже пробовал:

1 - идентификатор процессора, но он уникален для каждого типа процессора не для каждой части процессора

2 - серийный номер материнской платы уникален но во многих устройствах эта строка появляется вместо serialnumber "для заполнения O. E. M."

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

4 - серийный номер жесткого диска должен быть уникальным но для каждого отдельного производителя и может быть изменен также пользователь меняет и форматирует свой жесткий диск много раз.

2 Ответов

Рейтинг:
18

Kornfeld Eliyahu Peter

Если вы действительно хотите однозначно идентифицировать компьютер, вы должны собрать информацию обо всем оборудовании и каким-то образом объединить ее в единый код...
Однако этот метод крайне проблематичен с точки зрения конечного пользователя... Например, обновление жесткого диска приведет к нарушению лицензии (см. Microsoft)...

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

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


Golden Basim

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

Kornfeld Eliyahu Peter

Форматирование изменит серийный номер программного обеспечения (так как DOS это называется серийным номером тома), поэтому вам следует искать аппаратные сериалы...

Golden Basim

private void GetAllDiskDrives()
    {
        var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");

        foreach (ManagementObject wmi_HD in searcher.Get())
        {
            HardDrive hd = new HardDrive();
            hd.Model = wmi_HD["Model"].ToString();
            hd.InterfaceType = wmi_HD["InterfaceType"].ToString();
            hd.Caption = wmi_HD["Caption"].ToString();

            hd.SerialNo =wmi_HD.GetPropertyValue("SerialNumber").ToString();//get the serailNumber of diskdrive

            hdCollection.Add(hd);
        }

 }

я думаю, что сериально - это аппаратный сериал ????

Kornfeld Eliyahu Peter

Да. "SerialNumber" - это аппаратный последовательный номер, который не изменится до физической замены...

Golden Basim

спасибо , я думаю, что я буду совмещать серийный номер жесткого диска &амп; ProcessorID и материнской платы серийный.

Kornfeld Eliyahu Peter

Удачи - убедитесь, что клиент знает об этом, и что у вас есть способ повторно включить программное обеспечение после законных изменений, особенно жесткого диска (изменения процессора и материнской платы происходят редко)

Golden Basim

да , активация происходит из программного обеспечения и влияет на мой веб-сайт (онлайн-систему), и я могу включить другую опцию, чтобы заставить клиентскую камеру чесать свою лицензию и устройства

Рейтинг:
1

Golden Basim

у меня есть онлайн-система, которая автоматически генерирует лицензию после процесса оплаты. кроме того, я связал свое программное обеспечение с системой лицензирования с помощью API. спасибо