Why can we decompile .NET assemblies easily?
What's the main reason we can decompile .NET EXE files easily?
There are much software that I can use to obfuscate my application code, but why does it need to obfuscate for protection? Couldn't Microsoft make it difficult to know basically? May the main reason be that .NET code should turn into IL code? Is this true?