Search code examples
c#securitypiracy-prevention

How to make Software Secure?


Possible Duplicate:
Protect .NET code from reverse engineering?

I want to make my software that it doesn't get distributed without being purchased?

One way i thought was to make web service and keep track and all stuff.

But limitation is that not all the computers have Internet so this comes out of the question.

One idea was that I get the computer information like CPU Serial Number by WMI and then buld that software to run on system with that serial number. I cannot think of much better idea than this.

Please help me with some ideas how to make software secure.

I don't want to protect it from being decompiled. I want that if i give the a user with a single computer licence so this software sticks with that computer and does not tun on other computer


Solution

  • Short answer: You can't.

    Longer answer: You CAN always put these security barriers, which makes the crackers' work HARDER, but in the end, they WILL crack it. It's a matter of balance: you can make their work harder, but this means MORE work for you, too. The only real way of protection from piracy, in my opinion, is to make the essential parts of your application, web-based, and have all your customers use a unique ID while contacting the service. In most scenarios (and in yours too, as you have pointed out), this is hard or even impossible, but to be honest, there's no other real way.