Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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软件(DRM)_Java_Reverse Engineering_Protection_Commerce - Fatal编程技术网

制作商用Java软件(DRM)

制作商用Java软件(DRM),java,reverse-engineering,protection,commerce,Java,Reverse Engineering,Protection,Commerce,我打算做一些软件在网上销售。我以前只创建过开放源码,所以我真的不知道如何保护它不被破解和作为warez分发。考虑到我知道有两个程序要么没有破解,要么没有真正的用处,我决定唯一可靠的方法可能是这样的: 连接到服务器并提供许可信息和某种硬件摘要信息 如果一切正常,服务器将返回绑定到特定pc上的程序的一些关键缺失部分,以及使用限制(例如2天) 这些关键的东西没有保存到硬盘上,所以每次程序启动时都会下载,如果程序运行超过2天,数据就会再次下载 如果从不同的计算机使用相同的信息,请挂起客户帐户 你觉得这个

我打算做一些软件在网上销售。我以前只创建过开放源码,所以我真的不知道如何保护它不被破解和作为warez分发。考虑到我知道有两个程序要么没有破解,要么没有真正的用处,我决定唯一可靠的方法可能是这样的:

  • 连接到服务器并提供许可信息和某种硬件摘要信息
  • 如果一切正常,服务器将返回绑定到特定pc上的程序的一些关键缺失部分,以及使用限制(例如2天)
  • 这些关键的东西没有保存到硬盘上,所以每次程序启动时都会下载,如果程序运行超过2天,数据就会再次下载
  • 如果从不同的计算机使用相同的信息,请挂起客户帐户
  • 你觉得这个怎么样?这似乎有点限制性,但我最好先减少销售,然后最终看到我珍贵的杀手应用程序免费下载。无论如何,首先,我需要一些基本理论/教程/指南,了解如何确保用户仅在付费的情况下使用某个Java应用程序,所以请提供一些建议


    谢谢

    除非您的应用程序是专门基于web的,否则您的用户会发现需要internet连接才能访问产品是一件非常麻烦的事情。你的建议会起作用,除非它像所有DRM系统一样坏掉。我理解你想要保护你的知识产权,但以许多公司为例,这些系统通常会被破坏,或者产品会因为它们而变得更糟。

    这是一项非常棘手的任务,尤其是在虚拟机中运行的东西。 我会说你的想法可能是正确的。混淆它,使其难以修改,可能会阻止人们绕过内置的许可证检查

    然而,最终,如果您的应用程序是自包含的,它将始终是可破解的。如果您可以构建它,以便它使用您提供的服务,那么您可能可以命令它的使用

    我真的不知道该怎么做 防止其破裂和损坏 作为瓦雷斯分发

    首先,如果需要考虑的话,最好选择Java以外的语言。这就是C++在商业应用程序世界中仍然存在的原因。除非您打算使用实际的Java编译器来编译原生exe,否则出于IP保护的原因,我会重新考虑Java


    这方面,即使C++不被破解,但IP Prices与破解是两个独立的、重要的问题。

    < P>这是我所听到过的最严厉的DRM之一,您的用户会讨厌它。p>
    另外,请记住,由于语言的性质,有很多优秀的Java反编译器,有人下定决心只需找到处理DRM的程序区域,绕过/禁用它,然后重新编译(重新编译是不现实的)。。。因此,您甚至必须不遗余力地实现尽可能复杂的代码,以防止黑客成功。(这可以通过他们可能有的代码混淆工具来完成。)

    我很抱歉拒绝您的邀请,但首先您应该知道您想要构建什么;然后你应该证明你的想法不仅有效,而且还受到用户的喜爱,以至于他们想要盗版。第三,您必须确保您为使其“安全”而投入的时间实际上是值得应用程序的价值的

    如果你把它卖了一美元,你只卖了十份,你花了100个小时来保证它的安全,你计算一下,告诉我你的时间值不值得那点钱

    这里要传达的信息是:任何东西都可以破解或复制。最终,有比我们聪明得多的人在这样做(iPhone破解、数字电视、游戏等),但没有人找到银弹。你唯一能做的就是让你的应用程序更难破解(通常是以可用性、易安装性和一些使用场景的捷径为代价)。问问自己,这是否值得这么麻烦——这始终是一个很好的起点。

    不用麻烦了

    数十年来,游戏行业一直在与盗版作斗争。带有中央服务器的在线多人游戏通常需要订阅才能玩。这种模式对盗版相当有抵抗力。几乎所有其他游戏都是严重盗版的,尽管有无数的DRM尝试


    你的应用程序将被破解和盗版,不管你用什么语言编写,也不管你使用什么工具来阻止它。如果你的数字版权管理真的有效,那些盗版的人仍然不会买它。此外,合法用户会更喜欢其他没有侵入式DRM的产品。如果没有竞争产品,而您的产品有任何市场可谈,那么会有人创建一个。

    我在您的示例中看到一个具体的弱点,除了大多数人已经提出的意见,即DRM很难(不可能)实现,而且通常很容易规避

    在你的第二点:

    如果一切正常,服务器 返回一些关键的缺少的部分 绑定到某台电脑的程序 以及say 2的使用限制 日子

    这2(或X)天的限制很可能是非常简单的规避,这将只是几分钟内找到和修补(裂纹)

    如果您真的想拥有一个DRM模型,唯一合理的方法是将应用程序的重要部分作为web服务,并需要用户的持续连接


    在您尝试任何一种方法之前,请务必阅读,并且在尝试进行DRM之前会三思而后行。

    用杰夫·阿特伍德先生的话来说,让您的客户向您付款比破解您的应用程序更容易。换句话说,我认为你在攻击错误的问题。让购买你的产品变得非常容易,然后你的c