Сейчас на форуме: (+6 невидимых)

 eXeL@B —› Программирование —› Какие данные о железе лучше использовать для генерации Hardware Id (HWID)?
Посл.ответ Сообщение

Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 сентября 2019 14:28 · Поправил: checkthestack
· Личное сообщение · #1

Хай!
В моей программе используется hwid для привязки лицензии, а также для идентификации пользователя на сервере статистики.
В данный момент для генерации используются следующие поля из SMBIOS
SystemInfo - Manufacturer
SystemInfo - Product Name
SystemInfo - SerialNumber
SystemInfo - UUID
Motherboard - Manufacturer
Motherboard - Product Name
Motherboard - Serial Number
Chassis - Manufacturer
Processor - Manufacturer
Processor - Id
Processor - Serial Number

Как показала практика, во первых процент коллизий для hwid-ов сгенерированных из этих полей довольно большой, во вторых некоторые данные легко меняются. Знаю, что в принципе можно менять весь smbios, с помощью того же phoenix, но на практике не заметил, чтобы некоторые поля вообще когда-то менялись, наверняка есть какие-то разумные ограничения. Пока что больше всего заметно, что меняются processor serial number, поля system info.

Собственно вопросы

1. Достаточно ли данных из SMBIOS чтобы сгенерить нормальный hwid? (неизменяемый на клиенте, с малым количеством коллизий (но коллизии допустимы))
2. Если да, то какие поля использовать?
3. Если нет, то что ещё использовать?
Приветствуются ссылки на какие-нибудь bestpractices/опыт других людей




Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

Создано: 03 сентября 2019 14:38 · Поправил: BlackCode
· Личное сообщение · #2

checkthestack
VolumeSerialNumber (сменить можно, но опасно)
Вообще комплексная инфа о железе, плюс можно добавлять соль (уникальный ID копии программы) и от всего этого, к примеру, хешь SHA256.
checkthestack пишет:
чтобы сгенерить нормальный hwid

Коллизии зависят от алгоритма генерации.
Бери хешь функции начиная с SHA1.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 03 сентября 2019 14:56
· Личное сообщение · #3

Зачем такие сложности. Накройте просто UPX.


 eXeL@B —› Программирование —› Какие данные о железе лучше использовать для генерации Hardware Id (HWID)?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати