Search code examples
copy-protectioncommercial-application

How do you protect your commercial application from being installed on multiple computers with one license?


How do you protect your commercial application from being installed on multiple computers from people who only own one license?

Do you think it's a good idea to have more than just a serial based scheme?


Solution

  • The following method works well, as long as you have a public server at your disposal:

    • Serial based protection, user must enter a serial before using the program
    • On first serial entry, bind the serial to the MAC address and create an auth code generated from both of these values.
    • Check with your server to make sure the serial and MAC can be bound to eachother. Register the MAC on the server.
    • On each subsequent run, never contact the server again, but each time make sure the serial + MAC address matches their auth code.
    • If the user has no MAC address, allow them to run the program as long as they have a serial.

    This gives you protection against someone simply copying the registry from one computer to another.

    If the user tries to install with the same serial on another computer, the server will not allow you to bind the serial number to the MAC address because it is already bound.

    It is not a perfect solution but it protects you 99% of the time.