What is Online Activation and License Management?

Online activation license management is a proven and widely accepted method for registering and protecting software.

A software product today is typically a free-to-try product. This means anyone can download it and use it without paying. At the same time, such a downloadable version is usually limited — either time-limited or restricted in functionality. To unlock the full capabilities of a product and continue using it beyond the trial period, a user must purchase the software.

So let’s say a user purchases the software. The software vendor is notified about the purchase and must now unlock the full functionality of the product and remove any time restrictions. How is this done?

Time and functional limitations are implemented using a software protection system such as VMProtect Ultimate. The key is to inform this protection system that the software has been purchased and should operate at full capacity. Registration keys (license keys, activation codes) are used for this purpose. You have likely encountered them before. Here is how it works.

Upon purchase, the user receives a personal registration key. The user then enters this key into the application. The application sends an encrypted request to the activation server and passes the registration key to it. The activation server verifies the key, generates a serial number, and sends it back to the software. The protection system applies the serial number, unlocking specific application features and removing all time limitations.

Since every user registers through the activation system, a vendor can manage and control every issued license: limit the number of activations, block compromised registration keys, resend lost keys, and more.

At the same time, online activation prevents unauthorized use of the same license on multiple computers, key theft, and other types of fraud.

What is VMProtect Web License Manager (WebLM)?

Any software vendor can benefit from VMProtect Web License Manager. WebLM provides a simple, fast, and user-friendly way to integrate an online activation system into software, track licenses and installations, and manage license keys.

Web License Manager, or simply WebLM, is a full-featured software licensing and activation system. It allows you to track online purchases, manage customers and license numbers, and control the number of installations of your applications.

WebLM integrates easily with all major e-commerce providers and automates most routine license management tasks — including storing registration data, sending and resending license keys, blocking stolen keys, and managing online activations.

WebLM works in conjunction with VMProtect Ultimate. VMProtect provides strong and secure protection of your software, while WebLM simplifies license key management and distribution.

Who needs WebLM?

Here is a simple questionnaire to determine whether you need WebLM:

1. You want to securely store customer data and be able to access it at any time, regardless of the e-commerce provider.

2. You need a web-based activation system to restrict unauthorized installations of your product.

3. You want short, easy-to-type activation codes without compromising security.

4. You want to send license keys to users automatically after purchase.

5. You need a way to block stolen or compromised license keys.

WebLM covers all of the above. However, if you answered “Yes” to at least one question, you may still benefit from trying it.

How does it work?

Here is a more technical description of how online activation is implemented in VMProtect Ultimate.

Whenever a user attempts to activate the software using an activation code, the following process occurs:

1. The software calls the VMProtectActivateLicense function. This function builds and sends a POST request to the activation server containing all parameters specified in the VMProtect project settings. It also sends the activation code entered by the user and the hardware ID of the computer.

2. WebLM receives the request and searches for the specified activation code in the database. Several outcomes are possible:

a. If the activation code is not found in the database, WebLM returns the ACTIVATION_BAD_CODE error.

b. If the code is found but is blocked, WebLM returns the ACTIVATION_BANNED error to the application.

c. If the code is found but does not match the product field, WebLM returns the ACTIVATION_BAD_CODE error. A user can only activate the product or product mode they have purchased. If the hash of licensing parameters does not match the product hash, WebLM returns ACTIVATION_BAD_CODE. The hash of licensing parameters is encoded in the activation URL and sent along with other parameters during the activation attempt.

3. WebLM then checks whether the product or product mode uses hardware ID protection. If HWID binding is used, WebLM searches for a previously issued, non-blocked license for that hardware ID. Otherwise, it selects the first available license without hardware binding. If a suitable license is found, WebLM returns the corresponding serial number to the application.

4. Next, WebLM calculates the number of available activations as follows: the number of activations allowed by the activation code minus the number of non-blocked licenses already issued for this activation code. If the result is zero or less, WebLM returns the ACTIVATION_ALREADY_USED error.

5. WebLM then checks the expiration date of the activation code. If an expiration date is set and it has passed, WebLM returns the ACTIVATION_EXPIRED error.

6. If the number of available activations calculated in step 4 is greater than zero, WebLM creates a license according to the product or mode parameters. The customer’s registration name and email are taken from the activation URL.

7. Finally, a new license (serial number) is returned to the application.

Last updated 11 days ago