What is Copy Protection?


Copy protection is a critically important subject for software developers today. Before we describe copy protection systems however, lets get some background:

Licensing features you design into your software applications can be optionally bound to the machine it runs on. However, this alone does not constitute copy protection. If you choose to bind your license to the machine, you will enable the GameShield "FingerPrinting" mechanism. This essentially encodes the client computers "FingerPrint" into all Authorization Request Codes and, in-turn, the Activation Codes you remit to that client.

FingerPrinting ensures that even if the client were to give an illegal copy of the program to someone else, along with the Activation Code you had provided for their use alone - that code would not work on the other computer. A FingerPrinted Activation Code will only work on the exact computer that the client requested the code for.

FingerPrinting alone protects Activation Codes from being used on different machines - but what about if a cracker tries to copy entire directories or even the entire disk? That is where copy protection comes in:

The SoftwareShield Copy Protection System

Copy protection is a feature of the SoftwareShield licensing system that extends simple FingerPrinting as described above.

The copy protection system SoftwareShield uses checks every time your software starts to see if the host computer is explicitly authorized to use the license on the machine. This is done by computing the host systems FingerPrint and comparing that to a list of explicitly authorized FingerPrints stored inside the encrypted license. This functionality is in addition to that described above for simple FingerPrinting alone.

This means that once your client purchases the software from you, the code to release copy protection that you provide them (as with other FingerPrinted codes) which works on their system, will not work on any other system. But there is more to the copy-protection mechanism - read on:

This may sound allot like simple FingerPrinting described the the first few paragraphs above - but there is an important and subtle difference to understand: Copy-Protection checks if the host machine is authorized to use the license every time your software starts (as well as checking that Activation Codes input are meant for the host machine). This ensures that even if a legitimate copy is unlocked and the entire hard drive is copied to another machine illegally - that the illegal copy would detect the attempt to illegally use your license. By contrast, simple FingerPrinting alone only checks that Activation Codes are specifically meant for the host machine. Simple FingerPrinting checks are done exactly once for each code input - at the time the code is input.

If you are concerned about how you will implement a comprehensive strategy to keep the crackers and hackers at bay, you may wish to have have a look at our anti-hacker, anti-piracy tools and guide. The guide introduces you to a set of tools and techniques we provide in the DRM Kit that will enable your development team to truly take control back from the hackers.

Regardless of which method you choose, or at what level you choose to protect your software, the flexible and powerful nature of our system makes it easy to implement a solution that is perfectly suited to your needs and required level of protection.

Download a free trial of SoftwareShield and try out Copy-Protecting your Applications