2012-10-09 44 views
0

我为一个组织创建了一个软件。但也存在软件盗版的威胁。我想保留(安装)这只在一台计算机上。按照我的理解,我将创建Web服务,它将在安装时调用,并将收集系统信息并限制进一步处理,如果它已经存在于数据库。这是我的假设,并认为我会经历,有没有其他的方式来实现这一点,或者是否有内置的功能来克服这一点。如何为单个用户制作桌面应用程序?

任何反应都是可观的。

谢谢

+1

您花费的时间越多,您的合法客户就越难以使用您的软件,您花在客户认为有价值的功能上的时间就越少,他们就越有可能寻求您的非法副本软件没有你决定强加的任意限制。 –

+1

切勿将您的软件出售给您期望从您那里盗用您的软件......无论有人告诉您,在这里总会有办法绕过您自己定制的DRM或商业提供的软件。 – KingCronus

+0

另外,如果您的网站出现故障会发生什么?或者你不再运行它?你的软件停止工作?我不会买那个。 – KingCronus

回答

1

这是一个很好的选择使用web服务。但要使其发挥作用,您必须确保该软件在被调用时始终连接到互联网。

还有其他的离线选项可用。这里是临客,以他们夫妇

http://www.smart-lock.com/

http://www.keylok.com/

他们,除非钥匙插入机器,其保护的执行按键。

还有更多的选项可用,例如检测硬盘的序列号或从MAC地址识别机器,但它们并不完全安全。还有更多的问题如硬件更换会导致软件停止工作。

+0

我想在我的设置文件中锁定系统。这会阻止正在安装的软件。 –

+0

您可以使用inno setup,它是一个可配置的安装程序创建者,并允许您编写pascal脚本来编写安装保护逻辑。我从一段时间以来一直这样做。另一种选择是使用提供相同功能的nullsoft安装程序。 –

1

我可以看到实现这一目标的最佳方式是在当前用户的注册表中创建一个密钥。

示例代码要做到这一点是:

Microsoft.Win32.RegistryKey key; 
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names"); 
key.SetValue("Name", "Isabella"); 
key.Close(); 

附:你应该加密你的密钥值,否则会很容易被黑客入侵。

+1

可以在任何机器上轻松创建新密钥。这绝不是一个安全的选择。 –

+0

他可以创建加密密钥,并在应用程序级别对其进行解密,我将编辑我的答案。 –

+0

它成为一个静态绑定任何如何。我已经破解了几个这样的软件,只是试验安全性。此外,使用网络服务也不是一个好的选择,因为它也很容易被欺骗。 –

相关问题