@Rob Cooper
Having had some discussions with my
manager at work, he said he doesn't
obfuscate, but does NGEN on install,
apparantly that should be enough to
stop Reflector working on your
assemblies, but I have no idea if this
is true and to what extent, so please
don't take it as gospel :)
This doesn't offer any kind of protection against disassembly. First I imagine its quite possible to extract raw files from any installation package like an MSI or a CAB file.
But more importantly, Ngen runs on the client machine after the assembly has been installed. Ngen just forces the assembly to compile now instead of later using the JIT. The original assembly remains and is unmodified and it must remain because Ngen might not be able to compile the entire assembly.
Ngen is for performance, not security, and does nothing to prevent disassembly or make it even slightly more difficult.