# # What is .NET Reactor?

.NET Reactor is a powerful code protection and software licensing system for software written for the .NET Framework, and supports all languages that generate .NET assemblies. Its' main features are :

- Intellectual property protection
  - NecroBit Protection
  - Native Code generation
  - Code Virtualization
  - Obfuscation
  - Control Flow Obfuscation
  - Hide Method Calls (dynamic proxy)
  - String Encryption
  - Anti Tampering
  - Anti Debugging
  - Resource Encryption and Compression
  - Dependency Merging
  - Protects full applications and libraries (DLLs)
- Powerful licensing system
  - Create trial versions of your software
    - Set an expiration date
    - Limit use to a fixed number of days after installation
    - Limit by number of uses
    - Limit to use for no more than a set number of minutes each invocation
    - Limit trial version functionality
  - Easily turn your trial version into a fully licensed version
  - License your software
    - Permanently (nonexpiring license)
    - By time period (i.e. rent your software)
    - By number of uses (i.e. software as a service)
- Software development kit
  - Integrate license checking into your assembly and extend licensing functionality
  - Extend licensing functions with bespoke extensions.
- Deployment
  - Create .NET Core/5.0/6.0 single file application bundles

### # Why you need to protect your intellectual property.

When you compile a program written for the Microsoft .NET framework, the program you provide to your users is not compiled into a native executable program, but instead is translated into something called the Common Intermediate Language instructions (CIL). CIL is halfway between source code and native code and is interpreted by the .NET framework when your program is run, rather than executed directly as machine code. Because of this, the source code of your application or library can be easily reproduced. Tools such as .NET Reflector (link) can reproduce source code from compiled .NET assemblies in seconds and in the .NET language of your choice! Commercial software distributed to end users without some form of protection is wide open to piracy and intellectual property theft.

The traditional solution to intellectual property protection in .NET is to use 'obfuscation'. Indeed Microsoft makes an obfuscation utility available to Visual Studio users.

### # So why is obfuscation not enough?

Obfuscation is the process of making your source code more difficult (but not impossible) for humans to understand. Obfuscation works by replacing the meaningful names you assign to classes, methods, properties and variables with meaningless ones. For example, it may replace a variable name of "counter" with "A4DF3CV89G" - to humans, these obfuscated names are confusing and difficult to remember but have no effect on the NET Framework interpreter. Note that obfuscation does nothing to the source code within your methods, so it is not protected at all by obfuscation. .NET Reactor does everything an obfuscator does but then wraps your intellectual property in several more layers of protection, denying access to your source code to even those who are determined to steal your hard work.

### # Industry Leading .NET Reactor Source Protection

.NET Reactor prevents decompilation by a variety of methods which convert your .NET assemblies into processes which no existing tool can decompile ( and which are also very likely to prevent decompilation by any future tool). .NET Reactor builds a native code wall between potential hackers and your .NET assemblies by producing a file which cannot be understood directly as CIL. Because the CIL in your assembly is emitted intact only at run time or design time (in a form in which the source is completely inaccessible), no tool can decompile .NET Reactor protected assemblies.

The native code wall created by .NET Reactor between the hacker and your source includes industry-leading NecroBit technology is exclusive to .NET Reactor. These technologies make the reconstruction of your source code more difficult by so many orders of magnitude that NecroBit is by far the most effective protection you can use for .NET assemblies.

In addition to industry-leading intellectual property protection, .NET Reactor provides powerful options for securing your revenue stream by enforcing licensing terms with a wide variety of trial versions and full version locks.

NET Reactor offers you simple and reliable ways to:

- Secure your .NET applications and .NET libraries
- Replace CIL code with native code
- Perform additional layers of protection, including obfuscation
- Merge assemblies, and
- Protect your revenue by enforcing trial version restrictions and full version licensing terms.

The protection mechanism is so simple you can download and install .NET Reactor, and produce your first truly protected .NET assembly in minutes, without any changes to your source code.

- Supported Platforms : Windows 98, ME, NT, 2000, XP, Vista, 7, 8/8.1, 10, 11, Server 2003 - 2019
- Supported Platforms (Mono) : Linux - SUSE, Novell, Red Hat, Mac - OS X, Solaris, BSD - OpenBSD, FreeBSD, NetBSD
- Supported Platforms (Xamarin): Android, Apple iOS

### # About this online help

If you have any questions not answered by this help file, require additional information to complete your evaluation or have any suggestions for improving this help file, please get in touch with us, we will be very happy to help.