Home » Support » User Manual » The Software Licensing System » Licensing system features

Licensing system features

Strong serial numbers

The licensing system uses asymmetric algorithms for serial number encryption. Serial number is crypted with private key, holded by software vendor. Protected application decrypts serial number using the public key and checks it. Because of length of used keys (more than 1024 bits for RSA) it is almost impossible to compute the private key and create a key generator for protected application.

Locking code to a serial number

VMProtect allows to run pieces of code on the virtual machine. Architecture of virtual machine is different for every protected application and every protection. Licensing system allows to encrypt some virtual machine code using the key that is stored in serial number. So, it will be impossible to run that code without valid serial number. Code will be decrypted on the virtual machine, so even if hacker will have valid serial number, it will be a hard task to find out how and when the decryption will be done.

Limitation of free updates

The licensing system allows to put a date to the serial number, so the applications, build after those date will not accept this serial number. This allows to limit a period of free updates. For example if you put “today + 1 year” date to the serial number before sending it to the customer, he will be able to use new versions of your application for 1 year. After that he should either stay with the latest working version or purchase a new serial number.

Serial number expiration

The licensing system allows to store an expiration date in the serial number. Serial number will stop work after that date. This is useful for subscription-based products. As in the example given above, user will be able to use your product for 1 year and after that he should either purchase a new serial number or stop using product at all.

Running time limitation

The licensing system allows to limit running time of the application. This is useful for testing purposes. For example, customers wants a full version to test all the functionality. You may put a 10 minutes limit to the serial number and the application will close after ten minutes, but all features will be enabled within those 10 minutes. This works well for server applications – it is hard to restart them every 10 minutes.

Hardware lock

The licesning system allows to get hardware identification number based on CPU, Ethernet cards and OS information. Serial number may be locked to that hardware ID and will not work on hardware with another ID. This allows to block usage of single serial number on several computers.

Black list of serial numbers

Stolen serial number can be blocked by the licensing system. Blocked serial numbers will not work in the newer versions of protected application.

Serial number content

The licensing system allows to keep the following data in serial numbers: user name, e-mail and up to 255 bytes of custom data. You may show user name and e-mail in the “About” window, use custom data to keep constants available in registered version only etc.

Time trials

The new activation feature allows vendors to issue the time-limit serial numbers that can be used both for limited evaluation purposes and for the time-limited licenses, as well. Each activation code may be associated with the set of features and limitations, so the user gets a limited serial number instead of the full one. This requires Internet access, but may work offline using the special API.

The advantage of this approach is that nothing is actually stored in the registry or hidden files, so the trial period cannot be restarted using registry cleanup or the similar methods.



What doesn’t licensing system allow and why

100%-guaranted hardware lock

Despite that the licensing system allows to lock serial number to hardware, you should understand that most of the information about hardware is taken from the operation system. Experienced hacker can catch and replace some of the information. The licensing system uses tricks that make the replacement harder, but it is still possible. So, if you need 100%-strong hardware lock, it is better to use USB keys that give such guarantee. VMProtect supports USB keys, so you don’t need another solution for that.