To top
Products Products

AxProtector .NET and AxProtector .NET Standard


Automatic Protection for .NET Software

AxProtector .NET is the ideal solution to save time and effort when it comes to integrating protection in your .NET software. With AxProtector .NET you can protect your software against piracy and reverse engineering in a fully automated fashion.

AxProtector .NET encrypts classes and methods of the software you aim to protect, and shields it with a safety shell, AxEngine. Best-of-breed anti-debugging and anti-disassembly methods are then injected into your software.

All methods loaded in the memory are encrypted, and remain encrypted until they are used. The decryption is executed automatically. After a predefined time you set, the decrypted methods are removed from memory. Such a mechanism provides an optimal protection level against typical cracking techniques like memory dumping, patching and emulation of software protection.

An intelligent two-step caching process keeps the impact on performance low and yet offers a very high level of protection.

You can control AxEngine yourself through Wibu Universal Protection Interface (WUPI). You can also allocate and release additional licenses. This is an easy and secure way to create modular protection of your software.

When compared with the integration of CodeMeter API, AxProtector .NET provides a high level of protection with minimal effort. The additional use of the CodeMeter API is also possible.

Supported Operating Systems

AxProtector.NET is available in two variants: AxProtector .NET and AxProtector .NET Standard.

AxProtector .NET protects applications (executables) and libraries created with .NET Framework 2.0 or newer.

AxProtector .NET Standard protects .NET Standard 2.0 applications, including .NET Core 2.0 and Mono 5.4 applications.

Operational Principle

The use of AxProtector .NET does not require any changes to your source code. You just integrate AxProtector .NET as a post-build process. Encryption operations are carried out by AxProtector .NET after compilation of your software and before creation of the setup. AxProtector .NET is available both via graphical user interface and command line tool. As a command line tool, AxProtector .NET can run in continuous integration in an automated build system.

For modular protection, you define associations between licenses (Product Codes) and individual methods or complete classes. You can also query different licenses within the source code of your software with WUPI, and set your software to react accordingly in case of missing licenses. You can, for example, hide menus or display custom error messages. The encryption with another license (Product Code) offers you the highest security level; by means of a query via WUPI, you can set controlled behaviors of your software. Both are therefore essential.

Chart describes the AxProtector.NET Operational Principle

The first call to an encrypted method initiates the execution of AxEngine. AxEngine checks if a specific license is available. If so, it is automatically allocated and used to decrypt the protected method. In addition, AxEngine watches out for tampering attacks, thus ensuring integrity protection.

AxEngine remains constantly on guard for security threats to your software using highly sophisticated anti-debugging and anti-reverse engineering methods. It immediately interrupts software execution when hazards are detected. As an ISV, you can define whether or not the license should be locked under such circumstances.

An integrated watch dog within AxEngine checks the license in the background, its integrity and possible threats at regular intervals.

Optionally, AxProtector .NET injects hidden commands that CodeMeter utilizes as traps (Honey Pot). A cracker who would try to decrypt all encrypted functions would inevitably fall into a trap. The hidden command would lock the license, which could no longer be used to decrypt other functions. AxProtector .NET is therefore an excellent provider of protective measures against the systematic analysis of your software.

Compared to run-of-the-mill obfuscators, AxProtector .NET offers far stronger protections. Regular obfuscation changes names and scrambles code into spaghetti state, whereas AxProtector .NET encrypts the executable code with powerful 256-bit AES encryption. This makes decompiling the assembly on the drive impossible even with the right tools. The code is decrypted in a dongle or in a Windows system service, making it harder to attack than pure .NET-level obfuscation. Any attacker without the right license – and the right key – will not be able to extract the code from the memory. Traps are built into the code to make the systematic decrypting of all methods or extraction from memory virtually impossible. Whenever a trap is triggered, the license is blocked and the keys cannot be used in other attempted attacks. On top of these security capabilities, AxProtector .NET has another advantage over obfuscators: The names of functions do not have to be changed, which means that features like reflection, remoting, or WCF are fully available without compromising on security.

Through the user message interface you have the possibility to react to events, such as the absence of a license. This allows you to show custom designed messages if your software is provided with a graphical interface. In case of headless devices, you can record these events in a log file.