Thursday, April 16, 2009

Dongles: Hardware Enforcement


Software vendors will take any measure necessary to ensure that their software is not pirated. Software encryption and copy protection are the most common forms of piracy prevention, however every single copyright protection has been broken within a matter of weeks after its debut. Because of this, some software packages use a device called a dongle to prevent unauthorized copying.

A dongle is a hardware device that attaches to a computer. The software checks for the presence of this dongle and if it is not present the software will not run. Copying software protected with a dongle is much more difficult because the physical dongle has to be replicated as well, and reverse engineering a dongle is not something the average person can do. Not only does it require knowledge of computer circuits, it also requires expensive robotic machinery that is able to build the computer chips necessary for the dongle.

Since the dongles are difficult to build at home, the effectiveness of the dongle depends on how the software checks for its presence. If a software pirate is able to develop a piece of code that tricks the software into thinking a dongle is present even if it is not then the copy protection falls apart. Some dongles solve this problem by placing important parts of the software's code on the dongle itself. Even if someone can trick the software into thinking a dongle is present, when the program goes to access the code on the emulated dongle it will fail and the program will not run properly.

No comments:

Post a Comment