I can able to view my entire assembly using Lutz Roeder’s Reflector Tool.
.NET Reflector, which is a class browser and decompiler that can examine an assembly and show you just about all of its secrets.
but, How do I encrypt or protect my MSIL and cannot be read? Which means, I would like to completely eliminate the metadata information stored in my assemblies such as class and methods names. I can do so using the obfuscator tools offered by various vendors. But, how do I enforce a restriction on a class or method and all its members by pure code.
You cannot remove the metadata information, it's required for the .NET runtime.
What you can do is renaming all yours classes, methods, and variables. One can still get the code, but its nearly impossible to understand it when everything is named a,b,c,...
Obfuscators are tools that automatically do this renaming in compiled assemblies. They also change the assembly in other ways to make it harder to understand; or try to introduce IL constructs that crash the decompiler.
Yes. If your array has 20 numbers in it, generate a number between 0 and 19 and use it as an index into that array.
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )