防止不需要Internet连接的桌面应用程序的盗版



假设一个应用程序在其生命周期内永远不会接收到互联网连接,您如何防止软件的盗版?安装过程中不能有单一的产品密钥要求,因为一旦合法安装,任何人都可以复制安装并重新分发。因此,每当应用程序运行时,它都应该检查是否有什么东西,如果检查失败,就会崩溃。现在它能检查什么?起初,我认为保留一个加密的二进制文件就可以了,但正如这里所回答的,这似乎是一个微不足道的预防措施。任何黑客都可以修改可执行文件,这样当检查失败时,它就应该继续运行,而不是崩溃。因此,无论检查有多困难,破解的应用程序都将始终运行。现在我看不出这个问题有任何可能的解决办法。

附言:我是一名独立的开发人员,正在以非常低的费用开发生产力软件。看到这个问题,我想我只能放手了。叹气

编辑:我要感谢本次讨论中的所有贡献者,让我了解严峻的现实。。。我现在所了解的是,您是以目标可执行文件的形式间接提交应用程序的源代码。任何人都可以使用调试器修改其源代码,因此任何通过应用程序源代码防止盗版的方法都是无用的。这个问题的唯一可能解决方案是通过向合法客户提供服务(软件除外)来让他们满意,并使您的价格低于他们的预期。在过去的三天里,我一直在考虑解决这个问题,现在一切似乎都很有价值,但在这个过程中我仍然学到了很多,否则我不会。。。我有

我看到的唯一一个半有效的独立工具是盒装软件附带的硬件密钥。它们曾经连接到并行端口或串行端口,并在启动程序时进行检查。

AutoCad和类似的程序曾经这样做,但这对您的客户来说是一个巨大的痛苦。任何时候,只要它不读,或者一把钥匙坏了,客户的生产力就会受到影响。它对合法客户的伤害远大于那些最终盗版的客户,而一个有足够动机的盗版者可以制造出一个能够克服这一问题的虚拟机。现代版本使用USB。

我的建议是信任别人。安装后,让他们点击一个"我保证我为此付费"按钮,然后就可以完成了。如果他们点击"我没有为此付费",向他们展示一小段关于如何通过简单地为优秀软件作者的成功做出贡献来帮助保持好软件的出现,并防止损害客户的DRM方案。

如果你喜欢玩有史以来最大的古怪鼹鼠游戏,你可以为每个用户生成一个唯一的副本,创建一个数据库,并检查它代理你在网上找到的副本。

最新更新