如何保护用C ++ .NET编写的应用程序

时间:2011-05-13 08:50:05

标签: .net c++ protection

我已经编写了一个应用程序,现在我想要保护。应用程序是使用.NET框架用C ++编写的。我想知道可以使用哪些方法来保护应用程序。例如,如果我给“A”申请,“A”必须注册,只有在那之后他才能使用它。如果“A”给“B”申请,“B”不能使用它直到他注册。

2 个答案:

答案 0 :(得分:2)

我过去曾使用ExeShield。不是很好,不会保护你的软件免受坚定的黑客攻击,但对于小批量软件来说已经足够好了。

答案 1 :(得分:2)

您将无法阻止确定的用户破坏您的系统。您需要一个能够减慢确定用户的速度并且对普通用户来说摩擦力低的系统。

您需要一些唯一标识“A”和“B”的内容,并且有用的是网卡的MAC地址。可以改变这一点,但需要知识渊博的用户。

这是个主意:

  1. 您的可执行文件分为两部分。第一部分只是用户调用的一个小存根。第二部分在内存中打开,由存根解密和执行(不要将解密的程序保存到磁盘)。

  2. 解密密钥由MAC地址和盐组成。

  3. 用户会为您提供他们的MAC地址,或者您有一个小应用程序来获取MAC地址并将其发送给您。

  4. 您创建加密部分并将其发送给具有存根的用户 - MAC地址不会存储在任何地方。

  5. 弱点:

    • 用户欺骗MAC地址
    • 用户黑客存根使用不同的MAC地址
    • 用户解密主程序,因为他们找到了盐值和解密算法
    • 用户可从内存中复制可执行文件

    此外,如果解密失败,那么您可以切换到与加密版本一起打包的演示版本。