AxProtector .NET
Automatic Protection for .NET Software
AxProtector .NET is a reliable solution for protecting your applications written in .NET against reverse engineering. With various options, you can efficiently encrypt and license your .NET application at the push of a button:
- Automatic Protection: Encrypt your entire .NET application and automatically integrate a license check.
- Modular Licensing: Modularize your application to unlock individual features, depending on the assigned license.
- File Encryption: Straightforward licensing and protection of any files such as configuration files or AI models.
- CodeMoving: For ultimate protection against reverse engineering, AxProtector .NET offers CodeMoving, the ability to move encrypted code into a CmDongle or CmCloudContainer and execute it in a secure environment.
- Unbound Mode: Protect your application without requiring a license from the user, thus pure IP or know-how protection.
AxProtector .NET adds a security layer to your application that automatically includes a license check, monitors the authenticity and integrity of your software, and protects it from reverse engineering. Your application is encrypted at the class and method level and remains cross-platform compatible.
Additionally, you can integrate the CodeMeter Core API into your application for specific license operations.
Automatic Protection
The core functionality of AxProtector .NET lies in its seamless integration of licensing and protection means into your .NET application with the press of a button. Here, all methods of your assembly are encrypted using a license defined by you, the ISV. These methods are transformed so that they can decrypt themselves on-demand using the key contained in the license. Decryption without the appropriate license is not possible.
During execution, the individual encrypted .NET methods are loaded into memory. They remain encrypted until they are used. If the user possesses the license you have defined, the methods are dynamically decrypted at runtime. This decryption occurs automatically in the background. The typical .NET bytecode (IL code) is translated by the JIT compiler on the user's machine. Immediately after translation, the IL code is removed from memory by the security layer, thus it remains unencrypted only for a short time. This has minimal impact on performance while significantly enhancing security. Exclusively in .NET, the security layer integrates intelligently into the execution environment to ensure an optimal balance between security and performance.
By default, AxProtector .NET provides a customizable, dialog-based event handling. Optionally, you can tailor the event handling to your needs. For instance, you can display messages or respond transparently in the background. Ready-to-use configurations are available, but you can also define standard behavior for all applications as a generic library or integrate the behavior into your existing application, for example, through exception handling.
AxProtector .NET offers the option to obfuscate symbols. This irreversible transformation is an effective means to leave no clues for attackers analyzing the code.
To deploy AxProtector .NET, no alteration of your source code is required. The encryption occurs as a post-build process after compilation and before the setup creation. AxProtector .NET can also be integrated into an automated build system as part of continuous integration.
Modular Licensing
With Modular Licensing, functionalities can be licensed and activated individually. Our solution thus enables tailored licensing of Features-on-Demand in your .NET application. Although the integration is straightforward for you, it provides the highest level of security.
You have two simple options for integration. You can incorporate simple license checks into your code or assign licenses to individual methods or classes. Both are available to you for optimal integration.
With license checks, you control the program flow. For example, you can hide unlicensed functionalities in your application or issue a corresponding message when they are called.
By assigning separate licenses, you increase security. The assignment can be specified either through a user-friendly, intuitive interface, via a configuration file, or as annotations directly in the code.
File Encryption
Intellectual property often resides not only within your application but also in the files used, such as configuration or data files. AxProtector .NET provides you the capability to secure these against manipulation and espionage.
For this purpose, you can encrypt these files before delivery without any need to modify your source code. Individual files can be separately licensed, allowing them to be loaded and decrypted by your protected application only in the presence of a valid license.
If files need to be rewritten or altered at runtime, a custom integration with the CodeMeter Core API is recommended.
CodeMoving
AxProtector .NET provides the highest level of security for your .NET application with its CodeMoving mode. Security-sensitive parts of the code are implemented as individual subprograms in separate C source files. During the encryption process, each subprogram is automatically compiled and embedded into the application as an encrypted binary blob.
At runtime, these parts are called via the API, transferring the code to the CmContainer in the CmDongle/CmCloudContainer, where it is decrypted and executed. The dynamic offloading to the CmContainer achieves scalability and the ability to update.
With CodeMoving, you go beyond conventional protection mechanisms and secure your application at the highest level — ideal for applications where maximum security is the top priority.
Unbound Mode
As an alternative to protection with licensing, the Unbound Mode option allows you to use your application without a license. This variant is ideally suited for freeware, freemium models, or in combination with your own licensing.
In the case of freeware, the entire application is protected against reverse engineering through encryption and additional defensive measures, functioning without a license.
For freemium models, the application also runs without a license and is securely protected. The premium features to be unlocked can be easily and securely protected and licensed with CodeMeter via AxProtetcor .NET Modular Licensing.
If you use a homegrown or another licensing solution and want to enhance protection against reverse engineering, Unbound Mode serves as an additional security measure. Your application is protected, making license calls harder to find and manipulate. This strategy is particularly suitable for transitioning to the secure CodeMeter technology, ensuring compatibility with old licenses during a migration phase.
Technical Requirements
- Encryption environment: Windows (x86_64), Linux (x86_64 glibc)
- Runtime environment: Windows (x86, x86_64), Linux (x86 glibc, x86_64 glibc, armhf glibc, aarch64 glibc, x86_64 musl, armhf musl, aarch64 musl), macOS (x86_64, Apple Silicon)
- License Containers: CmDongle, CmActLicense, CmCloudContainer
- .NET Versions: 4.7.2 - 9.0, Core 2.0 - 3.1
Interested in a personalized offer for our CodeMeter technology? Just answer a few questions and our team will get back to you with all the information you need.
Submit