2011-07-25 57 views
2

可能重复:
Protect .NET code from reverse engineering?如何使软件安全?

我想让我的软件,它不会不被购买的分布?

我认为的一种方式是制作网络服务,并保持跟踪和所有的东西。

但限制是不是所有的计算机都有互联网,所以这就出现了问题。

一个想法是,我得到计算机信息CPU Serial NumberWMI,然后buld该软件在系统上运行该序列号。我想不出比这更好的主意。

请帮助我一些想法如何使软件安全。

我不想保护它免遭反编译。我想,如果我给人以单台计算机许可的用户,以便与该计算机这个软件棍棒和不囤上的其他计算机

+5

开发商已经尝试这一点,得出的结论是可能是使它安全是不可能的* *。诀窍在于让人们在需要时购买它,但不会过分,因此这对付费客户来说是一个烦人的过程。 –

+0

@ØyvindKnobloch-Bråthen牢记这一点,在我的国家,每个软件都可以在0.7美元DVD的市场上获得,所以这让我觉得,当微软未能保护他们的Windows 7免受盗版时,即使这样做足够好, ppl购买它...............然后我想一个不可能的:P –

+2

我认为最重要的是购买软件*少一点麻烦,比找到某处盗版并选择价格,以便您的目标受众不会过多地考虑购买或不购买。拉格朗日:请注意,微软并没有通过商店中的柜台销售Windows赚很多钱。 Windows销售的大部分是因为你用一台新电脑得到它。 – Joey

回答

5

简短的回答:您可以“T。

较长的答案:你总是可以把这些安全屏障,这使得薄脆饼干的工作HARDER,但最终,他们会破解它。这是一个平衡的问题:你可以让自己的工作更加努力,但这也意味着更多的工作。在我看来,防止盗版的唯一真正方法就是使应用程序的基本部分以网络为基础,让所有客户在联系服务时使用唯一的ID。在大多数情况下(如你所指出的那样),这很难甚至是不可能的,但说实话,没有其他真正的方法。

+0

去云将有助于保持好奇的秘密和控制。 – gjvdkamp

+1

增加安全措施也可能会使软件更难/让客户烦恼。例如,当巫师2在波兰发布时,玩家无法在前24小时播放,因为许可证服务器已关闭。 –

+0

是的,我忘了这一点。人们实际上会支付某些东西,并且由于额外的安全措施而无法工作。并非所有人都想要:) –

2

总是有硬件加密狗:http://en.wikipedia.org/wiki/Dongle

+1

通常也可以规避。我想一个选择是将某些软件功能外包给加密狗,从而将它们放在硬件中(或者如果加密狗不存在,则根本不加),但这会阻止对*代码进行简单更新,并且可能不值得。 – Joey

+0

免责声明:我为dongle公司工作。根据制造商的建议,使用基于智能卡的加密狗在理论上是可以破解的,但需要耗费数十万美元和广泛知识的电子设备。我们有客户使用加密狗保护零售价为150万美元的软件。如果他们不安全,他们不会这样做。至于代码移动,这是可能的,但执行时间会很慢。更新不是CodeMeter的问题。 –

3

Inishtech提供了一个解决方案,听起来像你所描述的那样。这是一个微型邮件项目的衍生产品。它提取并移动你的代码的某些部分到一个加密的dll,它运行在一个.Net虚拟机上,它也被加密,特别是对于那个应用/客户端,据我所知,所以它应该是非常安全的。

也有一个平台,分发和授权管理等

不知道任何免费的替代品。因为商业软件开始

问候GJ

+1

当发布基本上只包含链接的答案时,通常建议您至少详细说明您链接到的内容或引用相关部分(如果链接页面脱机或人们不需要想要遵循可能无益的链接而不知道该期待什么)。 – Joey