Уникальное оборудование для идентификации компьютеров на основе Java

Мне нужно сгенерировать уникальный код с одного ПК, мое ПО будет распространяться по лицензии, а локально мне нужно идентифицировать среду и отправить этот код на сервер. Я не хочу поддерживать на сервере порядковый номер, и каждый клиент получает номер последовательности, я пытался прочитать MAC-адрес из NetworkInterfaces, но это небезопасно, пользователь может легко изменить MAC-адрес. Я думаю, что лучший способ прочитать серийный номер материнской платы, но я не нашел способа до сих пор. Любое предложение?


person Rigoni    schedule 30.08.2010    source источник
comment
Также обратите внимание, что компьютер может иметь много сетевых интерфейсов (и, следовательно, много MAC-адресов) или ни одного.   -  person Michael Petrotta    schedule 30.08.2010
comment
Да, но если у компьютера нет сетевого интерфейса, я не могу получить номер.   -  person Rigoni    schedule 30.08.2010
comment
Готовы ли вы написать собственную схему лицензирования? Я думаю, что есть несколько достойных решений с открытым исходным кодом.   -  person Arnold Spence    schedule 30.08.2010
comment
Создать длинную случайную строку при установке и сохранить ее на локальном компьютере?   -  person Carsten    schedule 30.08.2010
comment
@Rigoni: я встречаюсь здесь с собой, но посмотри на PPP и на странности, связанные с MAC-адресами. Вы можете иметь подключение к Интернету без физического сетевого адаптера.   -  person Michael Petrotta    schedule 30.08.2010
comment
См. соответствующий заголовок stackoverflow.com/questions/1986732/   -  person gawi    schedule 30.08.2010
comment
Также обратите внимание, что MAC-адрес может измениться, если пользователь отключит сетевую карту.   -  person Steve Kuo    schedule 30.08.2010


Ответы (2)


Сколько стоит ваше программное обеспечение?

Много ли на целевом рынке пиратского программного обеспечения?

Чтение серийного номера материнской платы возможно на компьютерах с Windows с помощью WMI

Используйте WMI для чтения серийного номера http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx

Используйте WMI из Java http://henryranch.net/software/jwmi-query-windows-wmi-from-java/

WMI не работает на членах домена Windows XP в домене AD, если они используют групповые политики.

(Это касается только большинства корпоративных пользователей XP, так что ничего страшного)

Надеюсь, это немного поможет (MAC-адрес проще... но его легко изменить)

person Tim Williscroft    schedule 30.08.2010
comment
Да, это стратегическое программное обеспечение, похожее на стратегию калькулятора кассино. Является мультиплатформенным, для windows это решение будет полезно, а для других платформ нет. Я попробую это решение и другие решения для других ОС. Много танков. - person Rigoni; 30.08.2010
comment
Не могли бы вы немного рассказать о том, как WMI сломан/был сломан. Я не смог найти ссылку на эту ошибку. - person MZB; 30.08.2010
comment
Существует множество областей, в которых WMI просто не дает ожидаемой информации. Усугубляется это тем, что каждый пакет обновления (и прискорбное количество регулярных обновлений) вносит изменения в то, что сообщает WMI. Если у вас нет очень строгого контроля над тем, что установлено на клиенте, работа с WMI может сводить с ума. - person NotMe; 06.02.2011
comment
AFIAK делает компьютер XP частью домена AD, применяет некоторые групповые политики и бинго, WMI не работает (особенно для многих установщиков приложений). - person Tim Williscroft; 07.02.2011

MAC-адрес ненадежен. Вы должны стремиться к чему-то, что нельзя изменить, например, идентификатор ЦП или идентификатор жесткого диска IDE. Вот что я имею в виду: http://www.soft.tahionic.com/download-hdd_id/index.html

К сожалению, я не думаю, что DLL работает с Java, но, по крайней мере, она покажет вам некоторую информацию о том, что надежно, а что нет.

person Z80    schedule 07.01.2011
comment
Идентификатор процессора не дает вам уникальный серийный номер. Этот идентификатор предназначен исключительно для определения точного ТИПА используемого процессора. - person NotMe; 06.02.2011
comment
Кроме того, жесткий диск ненадежен, так как может быть недоступен из-за использования RAID-контроллеров. - person NotMe; 06.02.2011