C# FAQ: How protect my code against decompilation
Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio
| CSharp-Online.NET:FAQs |
| edit |
How protect my code against decompilation?
Or, how protect .NET code from reverse engineering?
.NET languages are compiled into Intermediate Language (IL). IL is easily decompiled back into a .NET language. Therefore, many developers worry about the possible theft of their intellectual property (IP) in the form of a .NET assembly.
To guard against decompilation, many developers resort to obfuscation. Obfuscators work by scrambling the IL code around into an "unnatural" form—an inefficient and unreadable form which would not be produced by a .NET compiler. Heavily obfuscated code may incur a severe performance penalty. Obfuscators may also introduce subtle or not so subtle bugs into the application. While obfuscation may help deter amateur decompilers, professional IP thieves will only be slowed down.
.NET decompilers are designed to read an executable file—e.g. .NET .exe or .dll file—and create a source file which can be read, edited, and compiled.
- Dotfuscator Community Edition is a free, community version of a commercial obfuscator.
See also
- .NET Languages
- Are there free .NET decompilers?
- How good are .NET decompilers?
- How protect .NET code from reverse engineering?
- How protect my code against decompilation?
- What about .NET decompilers that allow code to be submitted from browsers?
- What does a .NET decompiler do?