What is Copy Protection?
Definition: Copy protection is a strategy employed to prevent the illegal copying or use of computer software and/or data.

Some critics of software copy protection believe that copy protection impedes the legal software use. The vast majority of software is not copy protected but relies on the laws to protect their intellectual property. Copying of software is a violation of federal copyright laws and international copyright laws.

Examples of Copy Protection Software:
Trialware or shareware versions of software that offer 30 free trial after which the application software will no longer function. There are different methods of deploying copy protection. Some software developers release crippled versions of their software and only release the full version after payment is received. The copy protection software scheme that we are referring to is, however different, in that these are full featured software versions. Crippled versioning is not a true copy protection scheme.

Trialware versus Shareware
Trialware and shareware mean the same thing - the software is free for a specified trial period only. After the time expires, the software will no longer function. The software will function again after payment is received and/or registration is performed. This is accomplished by receiving some type of key or certificate or online registration.

How is the software locked?
There are a few methods of creating a copy protection scheme which will lock the software (the software will no longer run) after the trial period expires.

One method is the EXE wrapper which will take an EXE and create an encrypted version of the software. It can only be decrypted through the copy protection wrapper. It will create the process in memory as a load and wait process. Essential parts of the process are decrypted in memory and then the software can execute. The weakness with this method is that the software process that is running has no copy protection after it is loaded in memory. One can perform a ReadMemoryProcess and walk through the executable module re-creating the module without the copy protection. Some software vendors add protection from this type of cracking in order to overcome this deficiency.
Armadillo from Silicon Realms (Digital River)
and
ASProtect from ASPACK Software
and
ShareGuard from Zapper Software
all use this type of approach.

Another method is to create the locking code inside your software. The disadvantage to this method is that the cracker can usually find the code in assembler and branch around the code or create NOPs (no operation). The solution to this deficiency is to perform CRC Checking
- cyclic redundancy checks. This will ensure that nobody has tampered with your module. Developers can also add additional checking (setting and testing multiple switches) to ensure that the critical copy protection software code was actually executed. This is to ensure that the cracker did not simply branch around the standard copy protection code. These tests are sprinkled throughout the application to ensure a higher level of integrity. The switch is set during the critical copy protection code and, is tested in different functions. Anytime the anticipated value is not received then the application will shut down. ShareGuard V3.5 and up now contains a tool to encrypt the executable so that your internal copy protection and the application is encrypted for a really secure system.
ShareGuard from Zapper Software
uses this approach and the wrapper approach.

There is also a hardware based solution called dongles. These are hardware devices that connect to the printer port. The software cannot run without the dongle and the dongles can be daisy-chained. The software sends a signal to the dongle and expects certain return codes/values. This is a very secure method but is very expensive and is cost prohibitive for most software programs. Microcosm and WIBU Systems both employ this solution. Some dongle systems actually decrypt code on the fly to enforce the copy protection and to prevent crackers from bypassing the dongles.

The ultimate copy protection system would entail the following characteristics:

Software that can distribute the encrypted code to another key process for decryption.

The decryption is done in memory and is dynamic such that only parts of the program reside in memory at once such that the entire process is never completely decrypted in memory.

All data files are encrypted and then decrypted in memory using the same approach.

This type of system would be very slow and would probably not function on all applications.

eBookGuard and PDFGuard, when used with the Encrypt EXE tool for the reader/viewer, are very close to this ideal copy protection scheme.

How is the software unlocked?
Different software vendors provide different methods to unlock their software. Some use certificates which will work on any computer, some use a KeyGen program which generates the correct key and some use online registration and/or activation through the internet.
ShareGuard from Zapper Software
can use all 3 approaches to allow more flexibility.
Software can be unlocked for a definite amount of time. This is known as software leasing. Most copy protection schemes do not permit this solution but ShareGuard Copy Protection from Zapper Software
allows for software leasing.

What About Crackers?
Good copy protection should also have some built in safeguards to prevent hackers and crackers from reverse engineering or bypassing the copy protection scheme. Different software vendors may employ various techniques to prevent cracking. ShareGuard
uses a memory search and destroy technique and another technique for SoftIce.

Does It Work?
There is no complete system out there that will prevent all unauthorized access. Even dongles have been cracked. Copy protection does work well enough to accomplish the marketing goal. It will get users of software to purchase. Many studies have been done on this and the honour system has proven to be ineffective. Copy protected trialware, usually 30 days, has proven to be the most effective marketing tool. The bottom line is - if the customer really needs your product, and likes it, then they will buy it only when they are forced to buy it. This is usually the day the software expires.

More Information on Copy Protection
The following is a list of copy protection articles that you may find informative. While some of this information may not be applicable to your situation, it may still be of value.

Zapper Software offers copy protection products for movies, videos, mp3 music files, Microsoft Word files, ebooks, and computer software. All of our products are designed to work with ShareGuard Copy Protection