ask software questionsAsk DR
software and web designDesign
software developer 101Developer 101
ecommerceEcommerce
file hostingFile Hosting
marketingGeneral Marketing
licensingLicensing
resellersResellers
search enginesSearch Engines

software conferences Software Conferences

software organizationsSoftware Organizations

Software Developer Store Software Store

statisticsStatistics
software supportSupport
developer tool boxTool box
software developer rss feedsRSS Feed

File Hosting

Search: 

Software Protection How to Protect Software

How to Protect Software

It likely came as no surprise that when software developers began disabling software functionality, their sales increased significantly.

Protecting software and limiting its usage beyond a specified trial period has become a necessity and protecting software from cracks can be critical to an application's success. In fact, some statistics suggest that a software crack can impact software sales by as much as 30%!


1. Third Party Software
Many developers use third party applications to help protect their software. As a result many software developers use a combination of protection methods in an effort to thwart hackers. Third party applications are often part of a total protection solution.

Armadillo Software Passport
ASProtect
HASP

The downside to relying on a third party is that if the algorithm of the third party application is cracked your software can be at risk. Cracking software specifically made for software protection is a feather in a software pirate's hat and very desirable within their community.

2. Wrappers
Wrappers are applications that go around a software download. The wrapper handles the ecommerce, security access and tracks affiliate referrals.

Installer eSeller

3. Partial Key Verification
A method popularized by Chris Thornton of Thornsoft Development , partial key verification is a protection scheme that only verifies certain digits of the registration key. The verification digits vary in different versions.

4. Hardware Locking
Hardware locking, locks the software to a specific computer. Hardware locking is used so that a single license can not be used on multiple computers. This is generally unpopular with users because they will often have difficulties if they upgrade their system to a faster system or if they have a hard drive crash and need to replace failing hardware. In addition to the headaches associated with a system crash or upgrade, they will have the additional burden of contacting the software manufacturer so they can get their software to run on their new hardware.

5. Online Activation
Software activation services provide software developers access to a centralized license server on the Internet, preventing software piracy by means of online software activation. Software activation is the process of obtaining a license for your software so that it becomes active and ready to use on your computer. Many customers dislike software activation because it is a form of "phoning home" and though the access is declared, it can still be an inconvenience if the customer is off-line.

Activate Soft

6. Separate Trial and Download
Another approach developers take to protect there software is that their trial version is completely different from their registered version. After purchasing, the customer is given a new download location to download the full registered version. The trial version is different than the registered version and it can not be cracked to increase functionality.

The registered download can be time limited and password protected to help minimize its effect in the "wild", should a license be obtained through the use of a fraudulent credit card. FileKicker, a third party file hosting service, has a number of optional controls in place to restrict download access.

7. Dongle Locking
Dongle locking is another form of hardware locking. The software will require the use of an external piece of hardware (either connected to the parallel port or USB port) to "activate" the software. This is unpopular simply because it causes additional points of failure and relies on something that can be easily misplaced or lost.

It is generally difficult to locate lots of detail on software protection. Software developers tend not to post or share their methods of protecting their software in the public. As a result the software conferences and private member only forums tend to be the best places for getting detailed information on the most effective ways to protect software.

Additional resources:
Fravias How to Protect Better - http://www.searchlores.org/protec/protec.htm
Additional: Code Project - http://www.codeproject.com/cpp/softwarekey.asp

Related Articles:
How to Minimize Support
How and Why You Should Sign Code

 



Copyright 2007 Digital River All Rights Reserved