How to write source code with VB6 for preventing illegal copying of softwares through CD-Key verification?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I'm interested in the answer to this one.

Isn't it the case that you can change the CD key, so it's useless.

There are other solutions to this one though that are more simple.
I don't understand.  Do you want to write your own CD-Key verification routine?  So you can release your (ro someone elses) software and use your own CD-Keys?
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Éric MoreauSenior .Net ConsultantCommented:
latecomerAuthor Commented:
Yes, a verification routine for release of own software.

latecomer, the link given by emoreau is a link to an open source, freeware project with exactly what your asking for.  If you want to get in on the discussion group, you can send a blank email address to

If you want to download the sourcecode, you can do it here.

If on the otherhand you want to develop one on your own, I suggest that you start looking into encryption.  It will give you ideas on how to develop a Key making solution.  But I am telling you that any currently used copy protection methods can be bypassed.  Key systems I know in particular are easy to do.  

When someone enters a CD key for your program, the Key routines can either create a new CD key to compare to the one entered or take the one entered and tear it down.  Either way at some point, there is a comparison done.  You can set up an assembler program to watch for such comparisons and stop execution at that time.  The person then looks at the two memory locations that are being compared.  At one memory location will be his CD-Key and at the other memory location will be the correct CD-Key.  So now he has a REAL CD-Key, he just reruns the registration.

The only reason I am explaining this is because it would be a shame to put a LOT of energy into something that will be bypassed.  So why not use one that already exists and is free, like what emoreau suggested.

Good Luck,
latecomerAuthor Commented:
Asmodius, the link provided by emoreau is quite interesting. Any comments on whether this can be bypassed.
How does one tear down a CD-Key protection in softwares?
By VB source code or other means? Please explain further. Know of any current research on how to plug the hole or improve the key method?
Regards from latecomer
Éric MoreauSenior .Net ConsultantCommented:
Anything you will do can be bypassed by a real hacker! You need to ask yourself what is the benefit for them to hack your application?
latecomerAuthor Commented:
I've seen some source codes for this problem. They all seem to be quite complex. Do I understand correctly that you 've other solutions that are simpler? Please elaborate. Thanks

latecomer 25/3/03

My method may be too simple, or too time consuming, but it's very effective.

If it's purely to protect your software, I don't think you should be too bothered about the originality of the CD it self... who cares if it is copied lots of times, it saves you sending new ones to people.

The solution is very simple... have a random code generator produce a 16 key code (four sets of four), this code can then be saved by the programme, or re-generated if the user requires.  Three attempts at the 16 key code and it will automatically change to a new key code.

Allow the user to print this code out, and either telephone, email or fax it to your offices, a reply with the "pass key", if you are happy that this user is genuine.

The advantages of this is, that these keys you give, can unlock the software indefinately, for a month, for a week, give access to certain, or what ever you program it to be.

It's a simple to produce, and gives you lots of flexibility.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.