Why is it so easy to decompile .NET IL-code into source code, compared to decompiling native x86 binaries? (Reflector produces quite good source code most of the time, while dec
C# and IL nearly map one-to-one. (This is less so with some newer C# 3.0 features.) The closeness of the mapping (and the lack of an optimizer in the C# compiler) makes things so 'reversible'.