仅为一个计算机系统设置Java应用程序



我正在处理一个项目,我希望我的应用程序只在一个系统上运行
我只想当我把我的项目交给一个特定的人时,他不能复制我的项目,可以在任何其他计算机系统上运行。我正在开发Java8IDE(NetBeans)。

感谢

如果您需要离线解决方案,您可以使用以下任何功能

获取硬件详细信息

但最好的答案总是将应用程序的一部分保留在您自己的服务器中,在安装应用程序时,您只能为这台特定的机器完成它。

两种方式

1号路

  • 构建您自己的Web服务,以完成您的应用程序功能,当应用程序使用此Web服务时,您需要确保这是同一台机器(通过IP、mac地址)

2路

  • 在安装时收集硬件信息&将其发送到您的服务器以将其保存在那里
  • 然后,当使用任何脱机功能时,您需要通过重新生成计算机信息来向服务器请求这样做的权限

请记住,有人可以对您的代码进行逆向工程,所以我更喜欢

的第一种方式

您可以向客户端询问他的MAC地址并将其包含在您的代码中,然后使用java代码获取执行它的计算机的MAC地址,然后将其与最初存储在程序中的客户端的MAC进行比较。如果程序代码不匹配,则终止您的程序。您可以从以下示例中找到用于检索MAC id的代码在Java 中获取系统的MAC地址

简短回答:"你不能"。

长话短说:几乎不可能将您的应用程序限制在一台机器上——需要数年的开发才能实现机器限制;看看所有的现代游戏——它们中的大多数都有某种DRM,所有这些都会被青少年迅速破解。

现在:您可以读取可能对您的系统唯一的一些值,您还可以编写&搜索一些特定的注册表值,但如果你的用户真的想复制你的应用程序,所有这些都不会对你有帮助,即使克隆一个操作系统并将其写入第二台计算机的HDD也没有问题。

tl;dr:如果你真的需要实现工作DRM。。。好java需要非常复杂的本地代码。使用java,你能做的最好的事情就是混淆你的代码——只有付费破解者才能破解一个混淆良好的java应用程序,而且他们也很难破解你的原生应用程序。

相关内容

  • 没有找到相关文章

最新更新