Tool Box with Tools

Categories: Protection

CodeMeter Protection Suite – The Multitool for Software Protection

Every software vendor knows: To monetize your software, you use licenses. But what about protecting the invaluable know-how that is invested in the software? Algorithms, parameters, and data do not grow on trees. They are paid for with hard cash and lots of effort. Let’s see how CodeMeter Protection Suite helps you as the go-to tool for all your software protection and licensing needs.

Been Hacked Yet?

For many businesses, it happens like a bolt out of the blue: Suddenly, their software sales slump in select niches or across all of their markets. Or users might be contacting them for support even though evidently they never bought the software. This is a bad sign: Pirates have been at work and either released a clone of the software with similar capabilities or started selling the original software without the legitimate licenses. In whichever form it comes, the situation will definitely be catastrophic for the original vendor. And the long arm of the law is often not long enough to reach the culprits everywhere on our planet.

The Way to Go: Encrypt and Sign

Control is what CodeMeter Protection Suite excels at. In essence, it is an encryption and licensing tool for a range of platforms that makes integrating protections and licensing easy. It achieves exceptional levels of protection by combining its specific encryption capabilities with cutting-edge anti-debugging and anti-reverse-engineering measures, right in the protected application.

CodeMeter Protection Suite also uses signatures to check whether code has been tampered with (code integrity).

Dynamic Decryption for Maximum Security

To achieve the optimum in protection against typical types of attacks like memory dumping, applications protected with CodeMeter Protection Suite have their functions and methods decrypted dynamically during runtime. Depending on the programming language in question, this can happen automatically (with .NET, Java, JavaScript, or Python), or the methods that need to be dynamically decrypted are flagged as such in the code.

Protection and Licensing in Harmony

In most cases, protection and licensing will go hand in hand. This is what CodeMeter Protection Suite does best, because the cryptographic keys used to encrypt the software are already securely built into the licenses defined with a Firm Code and Product Code: When encrypting an application (executables and libraries), you enter these two codes and receive an application protected with the right cryptographic keys in return. There is usually no need for any changes to the source code.

The end user needs the right license to access the protected application, stored for each user in a container of your choice, either a portable CmDongle, an encrypted license file (CmActLicense), or in a cloud container bound to the user (CmCloudContainer).

Finding the Right AxProtector

AxProtector is available for a wide selection of programming languages, including the popular choices in the following table.

AxProtector and Available Expansion Modules

All versions of AxProtector come with a standard set of features to encrypt and license applications, even if the protected application consists of multiple executables and libraries.

Modular Licensing

Applications can be sold in one package or by the feature”. For the latter case, modular licensing is the way to go. For this purpose, separate licenses (Product Codes) are created to go with each separate feature or function. Depending on the licensed feature set, the user will receive a combination of different Product Codes.

In the application, the software protection API (WUPI) checks for the licenses’ presence and can hide features for which the license is missing. Dynamic decryption during runtime means that you can assign separate licenses to these parts of the application, giving each its own cryptographic key based on each additional Product Code. No attacker could decrypt these locked-off parts of the application without these keys.

IP Protection

Are you planning to distribute free versions of your software? Are you thinking about a freemium option, with individual features requiring the user to purchase a license? Or do you want to give the user a bit more leeway even if a license might be missing, which can be important in machine operating software in industry? In any case, you still want your know-how protected.

By contrast to the standard approach, the encryption for the IP Protection mode is not bound to a CodeMeter license. Instead, the decryption keys are securely hidden away in the application itself. This means that the application would start even without a license container present. This is a clever choice for combining with modular licensing to keep the
paid features especially protected e.g. in freemium models.


For optimum security, machine code can be executed in a CmDongle or CmCloudContainer. This is made possible by turning the particularly critical code into a C source file that is compiled and placed as a binary, encrypted blob in the application during the protection process.

During runtime, the code is called up by a special API, transferred onto the CmDongle or the CmCloudContainer, decrypted, and executed with the relevant input parameters in that secure environment. The output is then fed back as a response to the API call.

File Encryption

This module is used for the quick and easy protection of data files. The file in question would be protected by CodeMeter Protection Suite and can then only be opened and accessed by applications encrypted with the same parameters, and only if the right license is present.

Supported Platforms

The typical platforms for use with standard PCs are already covered by the basic version of AxProtector.

If you are developing software for embedded devices, an additional AxProtector license will be required for each target platform, i.e. for a combination of operating system, processor type, and (in the case of Linux) the chosen standard library.

The table below helps you find your way around the different options.

Supported Development Environments

All AxProtectors can be used in Windows and Linux-based development environments, and AxProtector macOS is available for direct use on macOS.

Stay Up to Date with an AxProtector Subscription

Since early 2022, AxProtectors have been available by subscription to help you be sure that you are always using the most recent version and benefitting from the latest state-of-the-art security functions.

The subscriptions are timed to go for one year, renewing automatically unless you cancel your subscription. With your automatic renewal, the updated licenses for your AxProtectors and ;options are immediately available for you to pick from the license portal.


KEYnote 43 – Edition Spring/Summer 2022

To top