|
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
|