Does anyone have any hands-on experience with using a .NET assembly obfuscation product, or just hacking MSIL using a hex editor? I'm interested in C# and VB.NET coding techniques that can help hide data in a compiled assembly without the need for using an obfuscater, or to help an obfuscater do a better job hiding the details of code and data. A common example is representing string data as integers so the string can't be obviously identified by using a hex editor on the assembly's compiled code.
I am interested if anyone else has been working on these types of problems in .NET using commercial tools or their own coding techniques.
Here's a nice tutorial on .NET obfuscation:
http://www.howtoselectguides.com/dotnet/obfuscators/