Encrypted Blocks is our in-house developed technology, which allows you to encrypt a part of your executable code, and decrypt it at run-time. Blocks are encrypted with 256-bit Rijndael (AES) keys, which are protected by 2048-bit RSA keys. These RSA keys are stored in the license.
Key Features and Benefits
There are 4 types of encrypted blocks:
Protected-Block; when this block is reached, it is decrypted, and after it is executed, it is encrypted again. The purpose of this block is to make it harder for crackers after dumping the application. Every such block need to be manually found and decrypted.
Init-Block; this block can be executed only once. After it is executed, its contents are destroyed. It should be used on initialization code. So when cracker doesn't dump memory soon enough, he doesn't have the initialization code.
License-Block; this block is like Protected-Block, but is can be decrypted only if an application is executed with a valid license. You can use this block to create trial (demo) versions of your application. You select features that should be available only in full version (for example Save function), and enclose them in this block. Then you provide your customers with a free demo version, without any license. These features won't work and will stay encrypted in executable. Once the customer buys the software, you give him the license, and features become available again.
Feature-Block; similar to License-Block. The only difference is that decryption keys may or may not be present in license. This allows you to create different editions of your software just with licensing. Using feature blocks, particular features of your application can be enabled or disabled with license.