How To Protect Software

This article shows the ways to protect your software application. Software protection is need of the day. It is estimated that about 30% revenue is lost due to piracy but these figures fail to explain the fact that piracy also increases legal sales. Director of a software company told me they learn about some companies using their pirated software but they did not took any action. The director was not surprised when he received order from the same company next year. He said in the absence of a workable demo or just to try full features before making a purchase decision many people use pirated versions. This does not mean that software companies should not protect their products but only mean that a legal demonstrable product should be made available to customer for evaluation for a sufficient period of time.

So let us learn how to protect software.
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. 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.
2. Wrappers
Wrappers are applications that go around a software download. The wrapper handles the ecommerce, security access and tracks affiliate referrals.
3. Partial Key Verification
A 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 (generally Hard Disc)
Hardware locking, locks the software to a specific computer hardware, it could be hard disc, sound card, processor, graphics card etc. 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, change hard drive, face system crash. User will have the additional burden of contacting the software publisher so they can get their software to run again.
5. Online Activation
Online 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. Users dislike software activation because it is a form of “Call-back” and it will be additional head-ache if you do not have internet connection on the computer on which you want software to be installed.
6. Separate Trial and Download
Many developers release different trial version and full versions. This requires users to uninstall trial and reinstall full version.
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 very-popular among developers because it is easy to incorporate and easy to deliver. Users always dislike anything extra.
8. USB Drive Lock
USB drives also has unique manufacturer identification numbers like hard discs. Some companies are using USB pen drives as locks. The benefit is that you can continue to use USB drive for data storage. Additionally entire software can be provided in the pen drive with data in it. Imagine taking account ledgers or custom designs (like interior design projects, land escaping project etc.) with you when meeting a customer and updating details their it self. USB Drive Lock solutions will be very popular with users as will as developers.
Having a proper software delivery system is also a requirement in International Standards like ISO 9001, ISO 27001, BS17799 etc..