I have developed an application using c# and I wish to apply good and strong licensing to it so that it can be protected against cracks and that my clients can renew the license even if they change their system

I had few doubts in mind

1.Can software licensing be accomplished on a virtual machine?.How can I protect my software in case if MAC Spoofing takes place either on a virtual machine or any other system that my client is using?

2.If I map my client's MAC address to my application would it be useful for protecting the software?

3.What are the advantages of Hardware Id versus MAC Id vs Serial Key which one of the above should I use to enforce strong licensing to my software.Please suggest

4.In case if a user changes his system time and reverses his clock he can use my trail version of the software without purchasing it.How can I prevent this from happening?

有帮助吗?

解决方案

Your user shouldn't know what you base your authentication on. If you're afraid of relying on just one hardware component you can rely on several of them. You could as example use the HDD ID like this:

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

Remember you need to think also to scenarios in which your users change a piece of hardware you rely on (the MAC associated to the network card, the HDD ID, etc.)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top