From Macrobject Software:
An obfuscator can obfuscate .NET IL Code and protect .NET dll/exe assembly. Obfuscated code is unreadable and unmodifiable, it may anti-decompile and cause decompiler crashed (e.g. .NET Reflector). Obfuscator.NET supports name obfuscation (e.g. class/method/field/parameters etc.) and flow obfuscation. Decompiler can not show correct structure and code of the obfuscated assembly.