C# FAQ: How protect my code against decompilation

Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio


Jump to: navigation, search
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.

See also



Personal tools