Как получить истинный аппаратный MAC -адрес [закрыто

StackOverflow https://stackoverflow.com/questions/2089362

Вопрос

Я знаю, что этот вопрос был создан много раз, но он открыт, открытый

Проблема следующая:

Моему приложению необходимо создать немного 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, используя методы, которые вы нашли.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top