c#应用程序的良好许可策略

时间:2014-03-22 09:43:06

标签: c# licensing mac-address hardware-id system-clock

我使用c#开发了一个应用程序,我希望对它应用良好而强大的许可,以便它可以防止出现裂缝,并且即使他们更改了系统,我的客户也可以续订许可证

我心里几乎没有怀疑

1. 是否可以在虚拟机上完成软件许可?。如果MAC Spoofing发生在虚拟机或我的任何其他系统上,我可以如何保护我的软件客户正在使用?

2.如果我将客户端的MAC地址映射到我的应用程序,是否有助于保护软件?

3.硬件ID与MAC ID与串行密钥的优势是什么?我应该使用上述其中一项来强制许可我的软件。请建议

4.如果用户改变了他的系统时间并转换了他的时钟,他可以使用我的软件版本而不购买它。我如何防止这种情况发生?

1 个答案:

答案 0 :(得分:1)

您的用户不应该知道您的身份验证的基础。 如果你害怕只依赖一个硬件组件,你可以依赖其中的几个。 例如,您可以像这样使用HDD ID:

        ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
        ManagementClass partionsClass = new ManagementClass("Win32_LogicalDisk");
        ManagementObjectCollection partions = partionsClass.GetInstances();  

请记住,您还需要考虑用户更改您所依赖的硬件的场景(与网卡相关的MAC,HDD ID等)