Нашёл на
caduser такую функцию
(defun vk_GetMacAddress
(/ LocatorObj ServiceObj SecurityObj ObjectSetObj OutList)
(setq LocatorObj
(vlax-create-object "WbemScripting.SWbemLocator")
)
(setq ServiceObj
(vlax-invoke
LocatorObj 'ConnectServer nil
nil nil nil nil nil
nil nil
)
)
(setq ObjectSetObj
(vlax-invoke
ServiceObj
'ExecQuery
"Select * from Win32_NetworkAdapter"
)
)
(vlax-for Obj ObjectSetObj
(if (wcmatch (vl-princ-to-string (vlax-get Obj 'AdapterType))
"Ethernet 802.*"
)
(setq OutList (cons (vlax-get Obj 'MACAddress) OutList))
)
)
(foreach Obj
(list LocatorObj ServiceObj SecurityObj ObjectSetObj)
(and Obj (vlax-release-object Obj))
)
(car OutList)
)
Получаю
мак адрес, раньше слышал такое слово , но не знал эго смысла, почитал
википедию, получается это уникальный идентификатор сетевой карты, я правильно понял?
Изначально функция получала мак адрес состоящий из 3 частей, типа такого
("00:1C:F0:10:76:A0" "00:1C:F0:10:76:A1" "20:CF:30:AF:DA:F9")Решил зачем мне все 3, и взял только первую часть
"00:1C:F0:10:76:A0"Но и она состоит из 6 значений, опять много, взял последние 3,
10 76 A0Перевёл их из 16 в 10 систему
(16 118 160)Чтоб довести их до 4-х значных каждое умножил на 39
(0624 4602 6240)Т.к. эта функция стала универсальной для всех моих приложений, добавил в конце номер приложения, и в итоге получил серийный номер:
"0624" "4602" "6240" "1540"Ну и в принципе пока примерно 100 регистраций и всё работает хорошо.
А некоторые пишут спустя время, "ой а у меня регистрация слетела, серийник поменялся и код активации не подходит", да без проблем держи новый код. Это он что, сетевую карту поменял, или просто на другой комп установил?
Попадались серийники с нолями, типа
"0624" "0000" "6240" "1540", ну а почему нет? А один раз был такой
"0000" "0000" "0000" "1540", т.е. всё что я взял из мак адреса оказалось равно
0. Опять же, у него сетевая карта отсутствует, или так могло совпасть, что из тех 3-х значений взятых из 18 мак адреса, оказались нулевыми?
Можно ли сказать, что из самых простых защит, привязка к мак адресу самая стабильная?