Solved

License/Copy Protection Ideas

Posted on 2006-06-20
5
248 Views
Last Modified: 2010-04-23
I have just coded my first 2 programs. One will be sold on a CD at stores. The other will be sold online.

What can I do to protect my software from being distributed illegally?

I know someone will buy the CD and give it to everyone they know. Also I know someone will buy the software online and put it on CD to distribute to friends. Is there some way to prevent this. Atleast a way that makes it harder for them, so the lazy/non-techie people won't.

A cd-key is one way but that is easily distributed with the media to others. I don't want something too complex because I don't want to support it incase it breaks.

Internet activation (like MS Windows) is an idea but I want it independant of the PC setup if possible. And if my website ever changes or is down that would upset people.

The best way I can imagine is the way halflife 2 was done. The program connects to a server with the serial number everytime it is launched for authentication. But that is way to evasive.

Can someone shed a little light on this? For either of the 2 scenarios.
0
Comment
Question by:BiSHGoD
  • 3
5 Comments
 
LVL 5

Expert Comment

by:mydasx
ID: 16947184
dont forget to obfusicate your code too, so that it is not readily reverse engineered.  If you are doing one key per installation, your latter idea will work fine and has been quite successful for valve.  i would suggest, that you disguise this "internet ready service" as an auto update application.  However, if i'm smart, and your updates dont mean too much to me, i could just use your application offline only, or hide my connection from it, and use the key i found on one of the many download sites your application is available on.  the answer to this question is not an easy one.
0
 

Author Comment

by:BiSHGoD
ID: 16947971
I know to obfusicate the code, that isn't really the issue.
Also I don't think this program will be widely spread enough to have it plastered all over websites, I don't think.

And I know that this is a hard problem. I've been reading a bunch of things on it. I do have an auto-update feature of the program. I can just build on that and have it verify on my website the first time it runs.

Any other ideas?
0
 
LVL 5

Expert Comment

by:mydasx
ID: 16954634
have it verify everytime it runs.

mydasx
0
 
LVL 5

Accepted Solution

by:
mydasx earned 75 total points
ID: 16954655
past that, not much else you can do.  You can do things to prevent people from copying the disk w/ disk protection, but as seen on the web, that isnt exactly too difficult to get by either.  Calling home to verify the id evertime your auto update fires, is what Microsoft, Valve, Adobe, etc.  all do.

mydasx
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

766 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question