我需要制作一个只能在我的电脑上运行的程序。没有人应该能够复制它并在他们的计算机上运行它。 java中有没有办法实现这个目标?
答案 0 :(得分:0)
你可以尝试,但你不能想出一个万无一失的方法来阻止我运行它。如果有足够的时间,您可以删除任何安全检查和模糊处理,因此阻止它运行的唯一方法就是不分发它。
当然,我(例如)甚至不太可能会试图破解你的程序,因为我几乎肯定会浪费我的时间。
答案 1 :(得分:0)
假设您要在计算机上安装网络适配器(如果可以连接到互联网,则可以使用它),并且:
您可以在启动程序时测试:
你得到这样的MAC地址:
InetAddress localhost;
try
{
localhost = InetAddress.getLocalHost();
byte[] macAddress = NetworkInterface.getByInetAddress(localhost).getHardwareAddress();
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (SocketException e)
{
e.printStackTrace();
}
但这有点耗费时间。
答案 2 :(得分:0)
根据您的说法,您似乎不希望它仅在一台计算机上运行,而是您似乎希望成为唯一能够运行它的人。
在这种情况下,您可以做的是加密应用程序。
您可以根据需要创建应用程序,使用(强)密码对其进行加密,然后将其包装到uncipher +启动器应用程序中。然后删除原始应用程序。
实现它的一种好方法需要先进的技术,如加密和动态类加载(以避免在磁盘上留下痕迹),而且我甚至都没有谈论建筑系统。