如何限制我的exe只能安装在特定的计算机上?

问题描述 投票:0回答:1

我想限制我使用launch4j进行的设置只能安装在特定的计算机上。具体来说,我想获取计算机的MAC地址并检查它是否是该特定计算机,然后允许它安装设置(或运行exe)。

我在网上搜索它,但我找不到任何解决方案

郎:java IDE:NetBeans 可执行文件使用:Launch4j 安装程序安装程序由Inno Setup Compiler制作

java netbeans
1个回答
0
投票

计算机可能没有网卡或有许多网卡因此使基于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库。此解决方案不依赖于计算机上的现有网络适配器。

© www.soinside.com 2019 - 2024. All rights reserved.