通过向WebService添加逻辑来保护桌面应用程序

时间:2012-07-30 19:34:18

标签: c# web-services c#-4.0 desktop-application cracking

我最近推出了我的桌面应用程序,几天后就崩溃了。我发布了关于堆栈溢出的问题,人们说我不能阻止它。在软件的开始我不能允许这种情况发生,我想要一个解决方案。所以,以下是我的想法。

目前,我有桌面应用程序与Web服务器通信以验证用户。验证用户后,它会将值保存在Registry中。黑客已绕过通信代码并在注册表中添加假值,他现在可以使用我的软件。

现在,我计划将我的一些代码从软件的MAIN功能转移到Web服务器上托管的其他地方的W​​EB SERVICE。每当软件需要运行该功能时,软件将使用REGISTRY中的值调用WEB服务。我将验证这些值并返回结果。但如果值与我的数据库不匹配,那么我将拒绝该呼叫。

所以,我的问题是:
1-您认为这个解决方案是否可行? 2-根据我的想法,它会使软件对黑客无用。你怎么看? 3-此解决方案中的任何缺陷?

1 个答案:

答案 0 :(得分:0)

你不必破解。 Jeez,每个人都认为没有可用于防止盗版的解决方案,但也有。免责声明:我为prevents software piracy and provides license management solutions的公司(Wibu Systems)工作。

事情就是这样:这(就像所有安全问题一样)是一个高度专业化的领域,而且破解者在这方面比你更聪明。他们已经熟悉人们自行推出的不同本土解决方案,并且可以快速解决这些问题。

商业解决方案(我们的是CodeMeter;公平地说,其他公司也像SafeNet和KeyLoc一样制造出良好的解决方案)依靠强大的加密技术和多层保护来抵御密钥发现。这些公司花了数年时间开发,改进和测试他们的解决方案;您不可能自己接近这种解决方案的稳健性和质量。我几乎可以向你保证,你自己创建的任何解决方案都会很快破解,除非你的产品对破解者不感兴趣。

我不想在这里制作广告;我只想直接记录。那些传统上经常变得破解并且切换到CodeMeter的公司停止了破解。查看Propellerhead的Record产品就是一个很好的例子。