Hardware Dongle or Key must require driver as the communication interface between the device and the protected application. A common man-in-the-middle attack or emulation attacks where the hacker is trying to emulate the communication and trying to replace the original driver with a faked driver, or we called it driver replacement with the intention to make the application believe, it has past the security checks even without the valid Dongle. A good Software License Protection Dongle must be able to combat this attack with strong encryption and authentication to detect the action, in the case if the driver has been replaced. One of the very common hacking method is using Password Guessing attach or we called it Brute Force Attacks.
There are many tools available in the internet that allow one to run systematically trying on every possible passwords with the attempt to discover the actual passwords, and thus gain the access into the dongle or protection configuration. So, choosing strong passwords together with predefined security feature to lock the Dongle after certain no. Of wrong passwords attempts can prevent such attacks. Such attacks are possible not only on Software level but also on the Hardware device itself. Reverse engineering on software is where the hacker is trying to decompile the protected application into “raw” form, such as into assembly language and thus trying to trace the security check point and bypassing it. For hardware reverse engineering, special electronic equipment will be require where the hacker is trying to duplicate the same hardware device. In order to prevent such attacks on software is to optimize the protection with more comprehensive security checks, not just simple comparison but with authentication methodology.