The main problem solved by Guardant dongles is to protect your software against illegal use. In this case, it is impossible to protect the program from copying: any file that can be read can be copied — to run an application, the operating system must read the file and load it into memory. In the context, the phrase “protection from copying” with respect to software is meaningless.
With the help of Guardant development tools a protected application can be bound to an item that cannot be copied or is extremely difficult to copy and without which the program would not work. This item is the dongle. The main problem that is solved by dongle-based software protection is the following: to combine the application and dongle into an indivisible whole so that the software is “bound” to the dongle and could not fully function without it.
In general terms the system’s principle of operation looks as follows:
- The protected application accesses the dongle, which should be connected to the computer;
- The dongle returns some information to the application;
- The application identifies the dongle using this information. If the dongle contains valid parameters, the application continues to operate. If the dongle’s parameters are invalid (not the right dongle) or the dongle is missing, the protected software application halts.
By itself, the dongle can be represented as a hardware “black box” that performs some functions. The analyst has access to input and output data, but has no knowledge about the processing performed inside. This processing is basically the transformation that is used for binding. The binding of the application to the dongle can be carried out by the automatic protection of the completed software or by inserting Guardant API functions in the application source code, as well as by a combination of these two methods.
Developers of a protection system can create encryption algorithms and record those into dongle memory using the programming utilities. This is what makes every protection system using algorithms unique.