What is AquaticPrime designed to protect against?
AquaticPrime was designed to prevent attackers from generating fake licenses for your application which appear to be legitimate. Many other commercial frameworks use proprietary algorithms which have been compromised, allowing anyone with certain tools to create a fake license number which is then accepted by an unmodified application. This situation can often lead to so-called "casual" piracy, where it is easier for the user to find a fake license number than it is to pay for a real license.
Since AquaticPrime uses RSA public key encryption, you can be sure that as long as your private key is kept secret, no one will be able to generate fake licenses for your product for many years.
What doesn't AquaticPrime protect against?
There are other methods of attacking licensing systems that AquaticPrime doesn't not protect against. These methods (often known as run time attacks and binary modifications) involve installing certain software on your computer or modifying an application to bypass the licensing system when an application is run.
These attacks are difficult to protect against, because the nature of the attacks are constantly changing, and trying to prevent them often results in a game of cat and mouse, with the attacker and developer alternately trying to gain the upper hand with every new version of an application. I personally wanted to avoid dealing with such things, so I intentionally didn't attempt to prevent against this.
But what does it all mean?
The point of these discussions is to illustrate that no software is safe from motivated attackers who are willing to make a good effort to steal your application. AquaticPrime makes "casual" piracy much more difficult for the user when compared to other commercial services, and has other benefits such as more flexibility with regards to payment processing. However, each developer should research the licensing systems available and decide what is best for them, as no system will ever be 100% perfect.
