Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保护我的java应用程序不被复制_Java - Fatal编程技术网

保护我的java应用程序不被复制

保护我的java应用程序不被复制,java,Java,如何阻止他人复制我用java制作的应用程序?我使用mysql作为我的应用程序的后端,平台是Linux。有没有办法提供这种安全性 编辑: 有没有一种方法像windows中的某些应用程序,即使我们复制文件夹并将其传递到其他系统中,它也不会工作。我不知道他们是怎么做的。我可以在这里做类似的事情吗?您的项目是开源的吗?如果是这样,那么您将希望使用。如果没有,请仔细阅读并咨询律师。要阻止盗版,你真的无能为力,因为用户必须能够在自己的计算机上运行代码。一些公司已经使用了硬件代币,但对于小型开发人员来说,这是

如何阻止他人复制我用java制作的应用程序?我使用mysql作为我的应用程序的后端,平台是Linux。有没有办法提供这种安全性

编辑:


有没有一种方法像windows中的某些应用程序,即使我们复制文件夹并将其传递到其他系统中,它也不会工作。我不知道他们是怎么做的。我可以在这里做类似的事情吗?

您的项目是开源的吗?如果是这样,那么您将希望使用。如果没有,请仔细阅读并咨询律师。

要阻止盗版,你真的无能为力,因为用户必须能够在自己的计算机上运行代码。一些公司已经使用了硬件代币,但对于小型开发人员来说,这是昂贵的

一小步是只传递类文件,并可能通过模糊处理程序运行它们

这里是一个模糊的例子

下面是一个关于保护java代码的好页面


好的,下面是对我的评论的另一个回答

  • 不要卖软件,卖支持
  • 实施与电子邮件地址绑定的简单许可证系统
  • 仅为具有注册电子邮件地址的用户提供支持

  • 有关如何创建的提示,请参见OTN。这里显示的解决方案是可破解的,但不是偶然的最终用户。

    我们无法阻止用户复制您提到的方式

    这是所有以产品为基础的中型公司面临的最大挑战,他们正在花费大量时间来防止这种情况


    我同意@Milhous&@Andrew Thompson的回复

    有几种商业Java授权系统,它们完全满足您的需要(但您应该深入了解细节,因为它们并非都是多平台Java,而是刚刚包装了一个C库)

    防止在其他机器上简单复制应用程序的标准技术是节点锁定,其中应用程序在运行时检查某些系统参数是否与其许可证上的加密值匹配。MAC地址是常用的,但这不是一个好的选择,因为它可以由管理员在许多系统上设置。我建议使用参数组合,如登录名、主机名、安装目录等


    对于小批量销售,许可过程可以是手动的,对于大批量许可,许可过程可以是自动的。在自动方法中,许可证在产品激活期间自动锁定到其主机,对用户透明。现代的[产品激活][2]系统不仅简单且用户熟悉,还可以满足您防止复制的目标,并允许用户根据自己的意愿将其许可重新定位到另一台机器上(他们的系统是否有互联网连接。

    < p>我自己正在尝试,但是也许你可以配置你的程序来获得计算机的MAC地址(你想让它运行)。在第一次运行时。然后让它保存到注册表。然后,在主方法中,让它获取您的mac地址,并将其与注册表的mac地址进行匹配。(注册表倾向于在有空格的地方提出斜杠,但删除斜杠应该会使您获得匹配).

    您的意思是将程序二进制文件作为一个整体或部分代码复制到其他程序中,还是重新实现功能(克隆程序)?“如何阻止他人复制我用java制作的应用程序?”要么不要发布,要么把它弄得很烂,以至于没人会复制它。大多数问这个问题的人都会选择第二条路线(不称职——而不是设计)。顺便说一句,除非你的“杀手级应用程序”具有革命性和非直观的功能,一个简单(而且相当合法)的程序获取副本的方法是让测试人员描述输入和输出,让设计人员指定I/O,让编码人员实现。他们可能会想出比您更好的版本。@Thilo:我是说整个程序二进制。@Andrew:我是说我想保护应用程序不受直接复制和粘贴技术的影响。.我知道这是不可能的o停止复制。我只想消除明显的方法。没有其他方法来启用一级安全性吗?这样应用程序至少可以保护基本用户(初学者)不,我的应用程序不是开源的。许可是下一个阶段,但我想在我的应用程序中启用某种安全性。那么有什么方法可以做到这一点吗?/或者使用云,软件即服务;)这不是答案。