How is ElecKey easily crackable compared with a pure .NET protection system?
The ElecKey protection system is completely developed in native code that by its nature is extremely difficult to decompile using any decompiler tool. If your application is compiled in native code, the protection will be quite harder to crack as well. If your code is not native such as .NET or Java, you can integrate the API to your app and then use an obfuscator tool to obfuscate your code to enhance the security.
The KeyCheck API also includes an extra security feature called KeyValue that allows you to create random challenge-response to protect against cracking and dll simulation. You can apply different KeyValue checks over parts in your code (please see details in the code examples with the *Secure* folder). As a result, it will be extremely difficult to remove the entire random checks completely from the code.
As another technique of KeyValue check, when the random checks return false, it will be very obvious to terminate the application. Instead, you may include some bug in the code if the random checks return false e.g. File menu, Tools menu not functioning, incorrect calculation, .... This can really cause confusion in any attempt to crack the protection.