Advertisement Jump to content
Sign in to follow this  

articles on key-based software protections

This topic is 4874 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I seek articles describing the in and out of how to protect ** efficiently ** a software using a serial key. Any headers, gentlemen? Thanks in advances.

Share this post

Link to post
Share on other sites
If you want some help, how about giving us an idea about what kind of software your writing and who might want it. Its hard to suggest a protection method whtn you don't know who the users are and how likely they are to -pirate- your software.

The reason I ask this is because "efficient" software protection could mean many things.


Your program simply accepts a key. This could ship with the software.

Example: Windows 98

One problem is, no matter what level of protection you offer, once someone has a serial then nothing stops them from giving it out. Also your keys could be collected and someone could just figure out your algorithm and produce “new” keys.

A better solution:

You could have your program generate a system ID, one that is based on certain information unique to the client (Name, Hardware in the client computer), and then must be given back to you (e-mail, web form, phone, ...)

From that you could generate the unlock key...

Example: WinAmp (generated based on user name)

The problem with this is, your using some sort of algorithm, so once someone has a few known keys they could mimic yours.


Using either of the previous 2 solutions, each time the program is loaded the software checks a server(yours) for authorization to run. This lets you keep a database of valid keys in use.

Example: Windows XP / BattleNet (I believe)

Problem: User must have internet connectivity. Harder to manipulate, but not unheard of; someone could just watch the data coming back from your server and “fake it” and setup their own authorization server/service.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!