Very little you can do. Look at a company like Microsoft with tremendous resources available and huge piracy loss potential. They have never been able to solve this problem. They put keys on their media not because it prevents piracy - anyone can get a legal disk and copy it and write down the key. Microsoft puts the keys on because assuming they do decide to go after someone it makes it easy to prosecute their case. Most small apps distributed by web download use some combination of registry entries/product registration. But if you send out a key by e-mail, people can still give copies to their friends. If you use some sort of hidden registry entry, anyone who knows anything about the registry and has any of a number of different registry monitor apps that are widely available can still easily figure out how to get the key. The general idea is to encourage the average user to pay for the software, not to make it "priracy proof" because there is no such thing. Is all the software you use legal? I doubt it. What about your copy of WinZip??? It's a fact of life - some people will pay for software and some people will not. It is not worth devoting a lot of effort to trying to make it uncrackable. The best thing you can do is to develop really good software. Example: I downloaded a bunch of different spyware programs. A lot of them were free, a lot were not. I tried them all, and ended up buying one. Why? Because it was good, because it was not that expensive, because I am a software developer myself, and because I live in a culture that encourages at least some level of respect for value of copyrights. A something-ese bastard would do the same thing and then spend half a day cracking the code so he get a $30 program for free - mainly because he lives in a culture that has no respect for intellectual property. That's life, and that's licensing, in a nutshell ...