Nowadays, Independent Software Vendors (ISV) must implement some type of protection in order to ensure that they are being fully paid upon end-users utilizing their applications. The basic idea behind any software protection solution is to restrict the use of unlicensed software by some form of licensing scheme. This can be achieved via hardware tokens (also known as dongles), software-only licenses, or homegrown solutions. In general, hardware-based protection keys provide the most robust security, while software-based keys provide support for Trialware and Electronic Software Distribution. External hardware-based solutions provide the highest level of security currently available. Unfortunately, hackers are a persistent nuisance that cost Software Vendors billions of dollars in lost revenue worldwide. Therefore, it's important that the selected