|
This sort of software protection creates a registration file, usually in the same directory where the program is installed. The program checks the contents of this file and, if the file is correct, the program will behave like a registered one. If the file is missing or it is not correct, the program will behave like an unregistered version or will not run at all. The registration file may contain information about the user, or constants for decoding encoded program parts that are accessible only in a registered version.
There are two general types of registration-file protection:
• Some program functions are blocked without the correct registration file.
• The program is time-limited without the correct registration file.
Some Program Functions Are Blocked Without the Correct Registration File
This is a very good type of software protection, and crackers don't like it. Still, like all protection, it can be removed. When this protection is used, some of the program's functions are blocked without the correct registration file. As soon as the registration file is placed into the program directory, the program becomes registered and it functions normally.
There are several ways to implement this protection. The worst, and the one most easily removed, uses a routine that tests to see whether the correct registration file is present. If the program finds the correct file, it will unblock previously blocked functions. In such a case, the cracker need only find this routine and either "persuade" the program (by changing the code so that it believes the registration file is in place) or deduce the registration file's structure through the routine and then generate it.
If you choose to use this method, encode the registration file so that it won't be easy for a cracker to generate. You might also consider inserting additional testing routines into the program that start randomly once an unblocked function has been used. If a routine finds that the registration file isn't in place, the program reacts as the programmer wishes.
Another possibility that is more difficult to program is to insert a part of the unblocked function's code into the registration file, or to insert a constant there that will unblock those functions. This trick makes crackers helpless, but its disadvantage is that if someone acquires one registration file, it will run on all computers.
While this type of protection is good because it is hard to remove, it is bad for users who aren't connected to the Internet. If your users have to wait to receive their registered software by mail, they may be put off.
Program Is Time-Limited Without the Correct Registration File
Most antivirus companies use this type of protection. The program is unregistered and is time-limited without a correct registration file, as was discussed earlier in the "Time-Limited Programs" section. The time limit is cancelled once the registration file is loaded. |