使用加密文件的应用程序副本

时间:2016-01-16 05:09:26

标签: c# encryption copy-protection

我正在开发一个桌面应用程序,我想在某个时候开始销售它,所以我开始在运行时将许可证数据(例如:开始日期,许可证持续时间等)放在加密文件中应用程序解密文件并获取许可证数据进行检查。

问题是这种方法足以进行复制保护吗?

1 个答案:

答案 0 :(得分:3)

这个问题非常广泛,但简短的回答是:它取决于你的威胁模型。由于应用程序必须解密文件以检查其内容,因此该文件必须位于客户端计算机上(以及解密密钥),因此如果有人想破解它,他们将有一个实地日。 (他们可以将调试器附加到您的进程并跟踪处理保护的代码,然后只修补您的可执行文件或找出如何生成有效的许可证文件。还有其他可能的方法,我甚至没有想到。 )

如果你真的想要保护自己的软件,你认为你的程序会如此受欢迎,很多很多用户会尝试盗版它,购买专业的解决方案 - 你会得到专业的建议在设置它时,保护可能已经在其他产品中进行了测试。

如果这太贵了,请重新评估您是否需要复制保护。大多数家庭酿造的计划可以在短时间内破解,它们最终会让你的合法用户烦恼,这可能会让你感到头疼。您必须支持您的保护计划,并随着产品的发展不断更新。保持许可证向后兼容,同时用户友好和坚硬(-ish)-to-crack是棘手的。

一种可能的解决方案是执行互联网许可检查,但这有其自身的缺点,并且它也不具备防漏功能。如果您致力于推出自己的保护方案,请准备好编写许多复杂代码,所有这些都在C或C ++中。 (C#可以使用免费的开源工具进行反编译。)

在你这样做之前,问问自己:你的时间不会更好地用在新功能上,而不是那些不能改善应用程序本身的许可代码吗?