Obfuscator for C# and .NET

with support of serial keys and files embedding

3 Reasons To Use ArmDot

1 ArmDot obfuscates .NET code by converting to a virtual machine so it is almost impossible to restore the original code.

2 It's easy to use comprehensive API to issue, block and check serial keys.

3 Embed any kind of files including managed and unmanaged DLLs, data files and other assets into a .NET assembly.

Get Demo Version

Please enter the correct e-mail to get a demo version.

If you have not received a letter please contact us.

Why problems of existing solutions?

Obfuscation by renaming...

Most of protection solutions use a classic approach: obfuscation by renaming classes, methods and properties. It is supposed that in case of hacking much more time will be wasted. It sounds reasonable, but the problem is that instructions are the same, and it is so easy to patch it.

...by undocumented features

Another popular way to protect applications is to use undocumented features of .NET runtime. That could work but, as soon as a new .NET runtime version is released, this method stops working.

...or by debugging interface

The third idea is to use unmanaged CLR debugging interface that injects real .NET code at runtime. Unfortunately, a hacker can get this code after injecting, then remove unmanaged part or replace original code with modified one.

What does ArmDot offer?

Virtual Machine that makes code completely incomprehensible. The goal is to convert the original code into an illegible form. ArmDot has a proven approach that is widely used for the unmanaged code: the original code is converted into an array of bytes that is interpreted by special virtual machine. Each time you apply ArmDot, it creates a new version of virtual machine and uses a new set of instructions to represent the original code.

Mix Code is a technique that makes extracting license code checking very complicated. The license key checking code is mixed with the original code and it's really hard to separate one code from another one cause both use the same variables and their instructions overlap.


If you have not received a letter please contact us.

Embed files with the help of ArmDot

It's easy to add dependencies: managed and unmanaged DLLs, data files and other assets to the output .NET assembly.

If a .NET code requires an unmanaged DLL, just add the DLL to Assembly Directory and build a project.

After building the project, the output .NET assembly will work as if the embedded DLL really exists.

In other cases one may need to hide assets: videos, images and other files. Embedded files are not stored on a disk, but in the process memory instead, therefor it's hard to extract them.

More Screenshots

Main Window

Main Window

License Key Generation

License Key Generation

License Keys

License Key Generation