Are there situations where obfuscated code can behave differently than the original?
Yes. The reflection APIs, namely, certain methods of the System.Type and the System.Reflection namespace, refer to classes, methods, fields, properties and events using a string name. If your assemblies use these reflection methods to refer to identifiers , your code may behave incorrectly after obfuscation because the string name may have been changed. • How can the above reflection problems be solved? Our obfuscator adds a warning to the log file if the above reflection methods are used in the obfuscated code. If the reflection methods act only on classes, methods, fields, properties and events outside of the assembly, there will be no problem. If, however, the reflection methods act on identifiers within the assembly, these identifiers must be specified in the XML config file so that obfuscation does not change them. • My application uses Microsoft Remoting technologies, will this work after obfuscation? Yes, but you need to reserve the class-names of the server objects from obfusca