g pirated growing, programmers are being forced to come up with ways to ensure their survival. It is unfortunate that most of the security measures that programmers invent to thwart piracy tend to be very restrictive for the normal user.The main form of security in use today comes in the form of a serial number. Commonly, each software package will have its own unique serial number that is needed when a user wants to install it. This number will not work with any other package, and when coupled with user registration becomes a very convenient way to ensure a program is used legally. The serial number scheme has a few flaws, mainly that a copy of the program will use the same number as the original. Most pirated software comes with a text file containing the serial number, or it is written on the copy itself. Another problem is that most users dont register their software. Registering can be a hassle, and an unregistered program has a higher resale value than one that is registered. But not having a name tied to a serial number makes it extremely difficult for officials to track down the originator of a copy.A way of connecting a name to a serial number is to force users to register software once it is installed. The most common schemes would be to disable the software until registration, or use nag windows every time the program is run. The former is quite inconvenient and may even cause some users not to buy that specific program, and the latter is quite easily ignored if the nag windows are not too intrusive.One less intrusive way of protecting software is the use of a port lock, or dongle. This is a small piece of hardware that is usually placed on the parallel port. When a program is started, it can check for the presence of a dongle and terminate if one is not present. These locks are used most often with more expensive CAD or design programs and do have some system compatibility problems when moved from one computer t...