How does USB License Key protect emulation cracking technique?

In our system, we offer the Key-Value feature and a mechanism to protect against DLL emulation. Specifically, our Key system allows you to store encrypted key-value pairs. Here is how it works. A cracker would want to intercept the interface between the protected application and the DLLs such as Ekc3220.dll and Ekg20nt.exe, and then create an emulated DLL to bypass the licensing scheme. Key Values allows you to create a series of random challenges/responses between the protected application and the Key. As a result, the emulated DLL would not always be able to follow the random challenges/responses correctly. Whenever the DLL returns the wrong value, the application can detect the cracked DLL and terminate itself. You can use the above technique to create several key-value checks in many important parts in your code, to make it even more difficult to trace.
We have code examples provided. You can find them in the Examples folder, under the Secure sub folder, e.g.
Examples\KeyCheck.NET\CSharp\Secure