-2

我已经使用 c# 开发了一个应用程序,我希望对其应用良好且强大的许可,以便可以保护它免受破解,并且我的客户即使更改了他们的系统也可以续订许可证

我心中几乎没有疑问

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

2.如果我将客户端的 MAC 地址映射到我的应用程序,这对保护软件有用吗?

3.Hardware Id vs MAC Id vs Serial Key的优势是什么我应该使用以上其中一种来对我的软件强制执行强许可。请建议

4.如果用户更改系统时间和时钟倒转,他可以使用我的试用版软件而无需购买。如何防止这种情况发生?

4

1 回答 1

1

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

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

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

于 2014-03-22T09:51:50.570 回答