Problem solve Get help with specific problems with your technologies, process and projects.

Enforcing software licenses

It's extremely difficult to enforce software licenses. Expert Brad Arkin explains why many of the security mechanisms designed to guard licenses are easy to crack.

We have an application made entirely in VB6. We have devised a new mechanism of security for this application that checks the hard disk identification of the user and then generates the relevant serial key.

The new security requirement is that after three months the key expires and the software asks for another key. Is that possible? Is there any other way to implement a better security system?
Software license enforcement is a very challenging problem. People who crack software licenses are able to find ways around even the most advanced enforcement mechanisms. The use of hardware dongles or other advanced license enforcement techniques may lengthen the time required to crack the software license, but no design will withstand a concerted attempt by license crackers to remove the license enforcement.

Reverse engineering tools such as binary disassemblers allow license crackers to find the location in the code where the license check is enforced. Malicious users can then remove the check altogether or change the code so the check always returns a valid license. License crackers are able to use these tools to quickly sidestep any software-level license enforcement, even without access to the original source code for the application.

A simple license enforcement scheme that prevents casual pirating may be the best approach. Anything more complicated probably won't defeat determined software pirates.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.