Как ограничить мой exe для установки только на конкретный компьютер? - PullRequest
0 голосов
/ 21 апреля 2019

Я хочу ограничить мою настройку, которую я сделал с помощью launch4j, чтобы она была установлена ​​только на конкретном компьютере.Если быть точным, я хочу получить MAC-адрес компьютера и проверить, является ли это тот конкретный компьютер, а затем разрешить ему установить установку (или запустить exe).

Я искал в Интернете его, но яне удалось найти решение

Язык: java
IDE: NetBeans
Исполняемый файл, созданный с помощью: Launch4j
Установщик установки Сделано в Inno Setup Compiler

1 Ответ

0 голосов
/ 21 апреля 2019

Существует вероятность того, что на компьютере не будет сетевой карты или их будет много, поэтому возможна ошибка распознавания на основе MAC-адреса.

Получение MAC-адресов сетевых интерфейсов на компьютере

Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();

while (networkInterfaces.hasMoreElements()) {
    NetworkInterface networkInterface = networkInterfaces.nextElement();

    System.out.println(networkInterface.getName() + " " +
        networkInterface.getDisplayName());
}

Проблема многих MAC-адресов может быть решена с помощью хэширования сцепленной строки MAC-адресов. Но все еще существует проблема отсутствия существующего случая MAC-адреса.


Другая возможность уникальной идентификации компьютера заключается в хешировании некоторых из его внутренних спецификаций, например, серийного номера процессора, идентификатора процессора, операционной системы и т. Д. Например, с использованием кроссплатформенной библиотеки OSHI . Это решение не зависит от существующих сетевых адаптеров на компьютере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...