C#如何创建一个简单的基于时间的软件试用版?

时间:2009-01-05 11:15:45

标签: c#

我有一个C#程序,我想出售,我想提供14天的试用,我明白所有的防盗计划都已克服,所以我不想浪费太多时间做这件事。任何人都可以提供任何建议甚至一些示例代码吗?

由于

9 个答案:

答案 0 :(得分:8)

我的选择是在注册表或配置文件中存储安装日期(使用密钥加密)。每次申请开始时都要看这个。

您可以使用RsaProtectedConfigurationProvider 等内容保护您的app.config文件。

显然,如果他们对源代码进行反编译,他们会在其中找到密钥,混淆可能会对此有所帮助,或者使用公钥/私钥,但这可能对您所需的内容有些过分。

答案 1 :(得分:6)

小偷总是可以在安装后的14天内将时钟倒转,以及虚拟化以达到同样的目的。你能依靠网络访问并让程序电话回家钥匙吗?

HASP是一家全职工作的公司。

此外,根据您的目标市场规模,购买价格,竞争对手以及您销售的生态系统等因素,您可能会认为某些数量的优惠可能是您最好的营销工具。哪种风险更大:您的软件被广泛盗版,或者您的软件在噪音中丢失,甚至很少尝试过?据称,一些软件成功地将其广泛传播(WordStar,dBase,Lotus 1-2-3,iirc)。一个快速的谷歌显示,“寻找愚蠢”的第13章触及了这一点。

这是一个棘手的问题,祝你好运。

答案 2 :(得分:4)

按照提及的方式存储加密的安装日期。

每次应用程序启动时都会存储今天的日期。如果这一天突然回到过去,你知道他们已经被骗了,你就关闭了这个计划。

答案 3 :(得分:3)

我会在www.eziriz.com

使用.NET Reactor

答案 4 :(得分:3)

如果没有注册,只需做一个唠叨屏幕。无论你喜欢与否,人们都会窃取你的软件。在人们窃取你的软件时,在复制保护系统上浪费时间会让人更加沮丧。

温和提醒它仍处于试用阶段可能会更适合你,ala WinRar。

答案 5 :(得分:1)

只有保存这样做会导致软件在线注册到您的某个服务器。 软件应该在安装时生成一个使用固定系统ID的ID,因此服务器可以识别该系统上的软件。

好吧,我建议不要构建试用版,而是功能有限的免费版。

答案 6 :(得分:1)

老实说,既然你正在使用C#,我就说不要浪费时间在许可上。 如果有人想要你的程序而不付费,他们只需用任何IL读卡器打开它,然后移除你的许可系统或者只是禁用它。

正如另一位用户所说,制作一个功能有限的免费版本。出售完整版本希望它在洪流网站上没有太快传播。

或者只是使用其他语言重新制作应用程序,例如c ++并使用必须连接到服务器的许可系统。使逆向工程变得稍微困难​​。

请注意,只要您的程序变得有点受欢迎,它就会被黑客攻击/破解。

简单地依靠诚实的人或者以商业方式使用它的人,并且无法承受“被抓住”。使用非法软件。

编辑* 有人说在www.eziriz.com上使用.NET Reactor 如果它按照宣传的方式工作,这只会阻止人们轻松阅读您的代码。它无法阻止人们对其进行逆向工程并且无论如何都会破解它。 问题是你想为保护付多少钱? (这基本上是用另一种编程语言重写它,只有你付出代价。(虽然耗时少),它是否像宣传的一样工作?)

答案 7 :(得分:0)

如果您不想浪费时间设计许可方案,请考虑使用CryptoLicensing这样的即用型系统 - 它支持X日试用等。

免责声明:我为CryptoLicensing的开发人员LogicNP Software工作。

答案 8 :(得分:-1)

获得礼物'时间'在C中你必须使用头文件stdlib.h和 功能:

system("echo %time%");

程序:

main(){
  system("echo %time%");
  getch();
}