我想写一个基于wcf服务的许可证管理。
如何确保(最终)用户/“黑客”无法用损坏的服务器替换我们的许可证管理服务?
我们的许可证服务器托管在互联网上的服务器上。当服务器向客户端发送损坏的数据时,完整的许可证管理概念就被破坏了。
谢谢
最佳答案
您正在尝试解决一些无法解决的问题。一旦您向客户提供应用程序并且客户将其部署在他的计算机上,他当然可以对您的应用程序执行任何他想要的操作。即使您将某些安全检查硬编码到应用程序中,客户端也可以进行逆向工程并修改您的代码。您可以通过对库进行一些混淆来减少他的机会,但部署在客户端计算机上的任何内容仍然可能被欺骗。这就是warez存在的原因,并且没有防弹解决方案。
如果您不想让客户欺骗您,请将您的应用程序构建为基于网络并将其托管在您的服务器上。客户将为访问/帐户付费,并且他将无法避免您的许可策略。
如果您想要一些难以欺骗的高质量许可策略,请尝试购买一些现有的解决方案,而不是创建自己的解决方案。
关于.net - 验证 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6707269/