VC ++ DLL - 防止逆向工程和跟踪期限到期

时间:2012-07-13 21:18:46

标签: visual-studio-2010 visual-c++ license-key

我的知识产权有一个小软件程序。我在VC ++中将其作为Visual Studio 2010 DLL项目编写。

我想保护DLL的代码。 保护DLL中的逻辑不受逆向工程的影响 在DLL中放置一个有效期,就像一个将在1个月后到期的跟踪期一样。

这里我最好的选择是什么?在试用期结束后,我应该使用什么,不能破解或逆向工程?我之前从未这样做过,所以基本上我在这里一无所知。

任何帮助表示赞赏!
谢谢

2 个答案:

答案 0 :(得分:2)

安全性是标量 - 更安全性更好,但需要付出代价。在这种情况下,您有两种选择:

  1. 推出自己的解决方案(混淆,加密等)。成本是您设计,测试,修复和支持它的工作。其他成本是您的客户是否会因为您为他们造成问题而烦恼(因为您的实施存在缺陷,因为您缺乏经验,缺乏投入的能源,缺乏用例测试等等)。

  2. 购买商业“挂锁”。 Our company makes them,其他公司也是如此。成本是现金出门(不一定很多,根据您选择的解决方案,可能非常实惠)。商业产品应该使它能够非常快速和简单地保护dll并创建试用版。

  3. 好处是你不必把精力花在你不太了解的事情上(转向专业人士寻找专门的解决方案)如果你需要解决一个问题,你就会窒息。此外,您可以购买比您自己更好的安全性。

    如果您的dll很有价值,请花一些资源来保护它。如果你有昂贵的珠宝,你会把它放在雪茄盒或保险箱里吗?如果它不是很有价值,不要打扰保险箱,床下的雪茄盒就足够了。

答案 1 :(得分:0)

  

试用期后我应该使用什么,不能破解或逆向工程?

没有太多不能破解的东西。请阅读here上的答案。作为一名逆向工程师,我完全同意Adam Rosenfield对你问题的评论。这是一场军备竞赛,不多也不少。让您的软件变得酷炫有趣,实际上有人可能会花时间破解最耗时的保护方案。

  

我之前从未这样做过,所以基本上我在这里一无所知。

这会让事情变得更糟,因为这意味着你甚至无法判断哪个解决方案可能有机会哪个解决方案不可能。问题是,你只能这么多地阻止“破解者”。但是更有趣的问题如果你的保护没有得到破解它是否是好的,或者你的软件是否可能如此无趣,没有人努力破解它。再次,请阅读相关主题的linked answer

要点:我质疑这种保护机制的动机。最好的试验w.r.t.防止知识产权“盗窃”是特色限制性试验,而不是限时试验。

让我引用自己的相关答案:

  

大多数情况下的一般问题是,一方面是你   信任用户(因为你卖给他们),但另一方面你   不要相信他们(因为你试图以某种方式保护你的软件)。   当你以这种方式看待它时,你可以看到它实际上是徒劳的。