The Phoenix Protector was created to protect .NET assemblies. It has all common obfuscation features to secure your code. It also supports all versions of the .NET framework. It provides obfuscation features like Name, String and Control Flow Obfuscation. The last feature is particularly important since it prevents the .NET assembly from being decompiled into an understandable language. The Name Obfuscation is provided with an exclusion list. The demo version does only have a limited name obfuscation and no other features. Using the Name Obfuscation feature all the original MetaData names in a .NET Assembly are renamed to ones that aren't understandable. By simply obfuscating an assembly with this feature, the decompiled code will result uncompilable, since the obfuscated names can't be used in any .NET supported programming language. Of course, exclusion of user defined classes, methods, fields and properties is supported, since some public names can't be renamed to make certain assemblies work correctly. Other features are the String and the Control Flow Obfuscation. The String Obfuscation makes strings invisible to decompilation and disassembling. It doesn't give a strong protection but it's a standard feature for .NET assemblies. The Control Flow Obfuscation is very important. In fact, it makes your code not decompilable by changing basic identification structures such as conditional blocks and loops in it. An attempt to analyze your code will cause the decompiler to crash or, at least, it won't generate any useful code. Also, merging your assemblies could make your code even more secure. That's why the Phoenix Protector is shipped with an easy-to-use interface for Microsoft's ILMerge utility. The Phoenix Protector is the ideal solution for every .NET developer, due to its support of every kind of project and compatibility with every version of the .NET framework.