java - 阻止java桌面应用程序的分发

标签 java security netbeans derby

我使用derby作为数据库,用Java开发了一个基于桌面的应用程序。我正在使用的 IDE 是 Netbeans。我即将在客户端计算机上部署应用程序。我想到了一个场景,如果客户将开发的应用程序交给像他这样的其他客户,他只需复制粘贴应用程序和数据库,该应用程序也适用于他。通过这种方式,应用程序可以被分发多次。我可以采取什么措施来阻止未经授权的应用程序分发吗?如何在一个系统上注册应用程序?我认为这对应用程序的安全至关重要。我也在网上搜索了一下,发现了java代码反编译的问题。我该如何预防呢。作为新手,我真的没有任何想法。堆栈专家欢迎任何类型的建议和链接。

谢谢

最佳答案

你无法阻止复制,你能做的就是让它变得不那么有用或者不起作用,除非它被注册。这样,复制的软件就可以成为免费演示,这可能会鼓励新客户购买您的软件(即让它为您工作)

执行此操作的一个简单方法是让应用程序检查您的服务器是否已注册,最好将一些关键功能放在服务器上,这样它就不能单独与客户端一起运行。

你无法阻止反编译或逆向工程,但如果你有一个中央服务器,它就无法被反编译和逆向工程,那就更难了。

顺便说一句:您应该看看游戏行业如何解决这个问题,因为这是一个非常常见的问题,并且他们使用了很多有趣的解决方案。

关于java - 阻止java桌面应用程序的分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16233030/

相关文章:

java - Spring DAO 类方法 - protected 与公共(public)?

java - 如何在 Android 中保护信息

java - 部署错误 :Starting of Tomcat failed, 服务器端口 8080 已被使用

java - 在 NetBeans 中,如何将 "Java Application"项目转换为 "Web Application"项目?

C++ 排序无法解析标识符的开始和结束?(将数组保持在一起)

java - 允许 Java 以 main() 结束,而不关闭已执行的进程

java - Android 中文件/数据库的 SkyDrive/Dropbox 同步

java - org.springframework.beans.factory.BeanCreationException : Error creating bean with name XXX defined in class path resource

java - 如何验证或验证 JWT 签名?

wpf - 在 Internet Explorer 中关闭 WPF XBAP 应用程序的安全消息