We help IT Professionals succeed at work.

License/Copy Protection Ideas

BiSHGoD
BiSHGoD asked
on
311 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.
Comment
Watch Question

Commented:
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.

Author

Commented:
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?

Commented:
have it verify everytime it runs.

mydasx
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.