# How the licensing system works

### Application protection

To protect an application, VMProtect embeds the special code into it. This code checks serial numbers using information specified in the "Licensing" subsection of the "Project" section. A public key is embedded to the application and is used then to decrypt serial numbers. Also, the protection date and some additional information the licensing requires to work is put into the application.

### Creating serial numbers

Serial numbers can be created in the "Licensing" section of the "Project" section or using third-party applications - key generators. A serial number is a set of data about a customer encrypted using the asymmetric algorithm. The serial number then is passed to the customer, he or she enters it to the program, and the licensing system checks it.

### Checking a serial number in the program

The licensing system has several functions a program can use to work with serial numbers. The program sends a serial number to the licensing system and queries information about it. The licensing system returns the state of a serial number (valid/invalid and why) and also can provide detailed information about the serial numbers including a user name, an e-mail, the expiration date of this serial number and so on. The protected program analyzes serial number information and decides whether or not to continue operation and to limit the functionality.

© 2006-2015 Copyright VMProtect Software