Как получить истинный аппаратный MAC -адрес [закрыто
-
21-09-2019 - |
Вопрос
Я знаю, что этот вопрос был создан много раз, но он открыт, открытый
Проблема следующая:
Моему приложению необходимо создать немного UID для компьютера, над которым он работает. Мне это нужно, чтобы реализовать подлинную защиту.
MAC -адрес является хорошим кандидатом, потому что он уникален для каждой карты Ethernet.
Во многих статьях используются либо GetAdaptersInfo, WMI, NetBios или Chockets.
Вот один из них: Три способа получить ваш MAC -адрес.
Они, берег, возвращают MAC -адрес, но этот адрес можно установить руками из свойств адаптера
Control Panel > Network and Internet > Network and Sharing Center > Change Adatper Settings > right click on adapter > Properties > click "configure" button > go to "Advanced" tab > chose "Network Address" and change it
Все упомянутые методы не соответствуют моим потребностям, потому что MAC -адрес, установленный с драйвером, имеет больший приоритет, чем True MAC -адрес. Этот «фальшивый» адрес будет возвращен всеми функциями API WIN, которые я знаю, и, следовательно, подлинная защита может быть легко сломана.
Любая помощь от вас, ребята, будет очень признателен.
Спасибо.
Решение
Единственное означает, что Windows должен получить доступ к MAC -адресу, - это запрашивать драйвер.
Это то, для чего предназначен драйвер - поговорить с аппаратным обеспечением, чтобы Windows не должна была включать код для каждого отдельного устройства, которое может придумать, что кто -либо может придумать.
Если драйвер говорит Windows, что MAC -адрес - это что -то, то это то, что является MAC -адресом.
Другие советы
MAC -адрес является хорошим кандидатом, потому что он уникален для каждой карты Ethernet.
Я не боюсь. Во -первых, я читал отчеты о том, что клиенты получают целые партии машин с одинаковыми MAC -адресами (очевидно, это вызывает боль при создании кластеров).
Я также видел собственными глазами машину, которая меняет свой MAC -адрес при перезагрузке. Каждый раз. Это был старый IBM ThinkPad, работающий с Windows XP.
Мой совет: держитесь вдали от MAC -адресов, если вы генерируете уникальные идентификаторы.
Я не думаю, что «сетевой адрес», который вы упоминаете, относится к MAC -адресу. Некоторые устройства позволяют вам «подделать» MAC -адрес для ISP -целей, но вы сможете получить настоящий Mac, используя методы, которые вы нашли.