.NET compilation and its weakness

.NET program are compiled into MSIL, a Microsoft intermediate programming language in which anyone can find MetaData about your code and project.

Numerous decompilers freely available online are able to produce almost 1 to 1 decompiled code using any .NET syntax. That means all your code, once compiled, can be decompiled and stolen.

An exemple of decompiled C# code using dnSpy

A solution : NETGuard.IO obfuscation

NETGuard includes numerous advanced protection and obfuscation layers to prevent decompiler from recovering your original code.

NETGuard also includes watchdog system protection techniques to prevent your obfuscated files from being tampered.

NETGuard transform the MSIL code directly and produces a code that does the same thing but in a different way. Maths are a good metaphore to understand the logic behind obfuscation :

10 = 5 + 5

10 = 1 + 2 - (6 - 3) + 7 - 2 + 5

The two above math expression leads to the same result but one is more complexe than the other : this is obfuscation.

The same code but protected by NETGuard.IO
Was this article helpful?
Thank you!