通过服务器和服务器操作进行许可证检查

时间:2015-09-04 14:29:52

标签: c# localhost wamp licensing

我目前正在使用c#编写商业程序,通过服务器检查许可证密钥是否有效。

我的问题是(没有提供有关流程的任何细节);如果我的根域和IP地址 - 用于检查服务器数据库中的许可证密钥 - 是否已添加到主机文件中并且是否已添加地址然后通过编程方式从主机文件中删除它,那么检查主机文件是否是个好主意? (或前缀#)

还有另一个检查wamp等服务器运行吗?

我怎样才能避免服务器操作?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以检查C:\ Windows \ system32 \ drivers \ etc \ hosts的内容,但可以再次规避,例如通过设置自定义DNS服务器,该服务器将返回激活服务器的dns-name的本地网络IP地址。一般来说,如果密钥有效或只是咨询网站的许可算法将永远被规避,因为你总是可以反编译或反汇编程序,看看它等待什么样的响应,然后构建你自己的欺骗激活服务器。要特别注意现在存在的反编译器,例如" Telerik JustDecompile"对于任何.NET程序集(包括您的C#程序),它也会对您可能正在使用的常见混淆器进行反混淆处理。这样,您可能会特别容易了解许可算法的工作原理。在我看来,公钥加密应该是安全许可方案的良好基础,例如,检查签名激活密钥上的有效RSA签名;但话说回来,许可算法本身就是计算机科学的一个整体。 基本上我想说的是,你的许可算法本身应该是安全的,并且不应该依赖于检测是否有任何破解的激活服务器/调试器/在系统上运行的任何东西。