Algorithms performing data conversion (encryption and decryption, calculation of hash function, etc.) inside the dongle microcontroller are conventionally called hardware algorithms. You can use hardware algorithms for encrypting any information used by the protected application. Properly set up protection with hardware algorithms makes the removing of Guardant API function calls from the application code senseless. In this case there simply would be nothing to decrypt the data with. Besides, you can reach a reasonably high level of protection against emulators with correct use of hardware algorithms. 

Emulator is a software module or driver capable of reproducing the exchange process with a dongle and “feeding” the protected application data that it is expecting to receive. I.e. a software emulator is in its essence a full-fledged replacement (from the standpoint of the protected application) of the dongle.

Important information

The only effective way of fighting against emulation lies in the complication of the dongle operating logic. Only in this case if the dongle exchanges large volumes of various data with the application during the longest possible sessions, writing an emulator becomes increasingly labor-intensive. Only when such data is impossible to look up or calculate prematurely, writing an emulator becomes a task that is extremely hard to implement.

 

 

  • No labels