I'm thinking about adding some kind of copy protection to one of my tools.
I'm especially interested in techniques which allow a trial or freeware version of your software for private use but limit the usefulness in a corporate environment.
Related Question: How do you protect your software from illegal distribution
Related Question: Protect .NET code from reverse engineering.
Related Question: Prevent the circumvention of copy protection.
Copy protection uses technology tools to restrict users from copying data from protected digital media. Many publishers also provide copy protection for digital music and films. The music and film industry are ardent supporters of copy protection.
Encryption. Encryption is used to encode (encrypt) content so that it is only usable if the recipient has the correct key. In good copy protection systems it is also used to lock content to specific devices so that it cannot be easily transferred (along with the key) to an unauthorized device.
Copy protection devices come in several forms. They are usually digital codes embedded in electronic products which prevent, or frustrate, unauthorised copying. Some copy protection systems require an access code before you can copy the product. Others cause unauthorised copies to be unreadable.
CD/DVD copy protection is a blanket term for various methods of copy protection for CDs and DVDs. Such methods include DRM, CD-checks, Dummy Files, illegal tables of contents, over-sizing or over-burning the CD, physical errors and bad sectors.
Whatever technique you use, your software will be copied. The actual aim of copy protection is to prevent honest customers from being tempted to be unfair.
The minimum copy protection technique is enough. The maximum is not worth the time spent.
Moreover, I've heard that some developers provide user support to any user who asks, customer or not. The idea is that happy users may become faithful customers.
On desktop apps I've been using a Clarion Template (3rdParty, http://www.capesoft.com/accessories/secwinsp.htm).
With web apps, pretty much just been using the simple fact that the User has to log in, and tracking the activity. If they have an account, it means they've paid.
Desktop is a lot harder to track. As has been said, very easy to crack. Very much a case of:
Make it annoying for the Hackers, but as unobtrusive as possible for the Users
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With