Considering all the programming languages that target Microsoft .NET Framework, you surely know that they compile your code into assemblies. These assemblies contain IL (Intermediate Language) code and so called metadata that describe methods, fields, attributes or classes and make it easy to reverse-engineer your code.
However, there are situations when you need to protect your code and .NET applications and here is where DeepSea Obfuscator comes in handy. It allows you to exclude specific classes and include only the ones you are interested in.
Using DeepSea Obfuscator you are able to integrate it with Visual Studio and quickly improve the protection of your Silverlight and WPF assemblies. It enables you to secure anything that contains .NET code including C#, VB.NET, Compact Framework etc.
Typically, DeepSea Obfuscator is invoked during the last stages of your build process. It takes compiled assemblies and converts them into obfuscated ones.
The main window of the utility is very simply and allows you to add as many assemblies as you want, then inspect them.
The ‘Code Assistant’ tab contains several tools that assist you in creating the right obfuscation attributes. This way, you are able to prevent modifications that change the identity of ‘my type/member’ attribute and specify strong name and / or code signing configuration.
Simply choose the option you are interested in, select the modification types based on their category or full name, then choose the action you want to perform such as preserve, modify, prevent and detect errors.
In case you choose to modify the current assembly, you can inject another assembly into the target one or add a prefix to all renamed namespaces.
If an exception occurs in your obfuscated assemblies, the application generates a .map file in order to make stack traces readable.
Being aware that obfuscation is a critical aspect when you need to protect your Intellectual Property in .NET applications, you can rest assured that DeepSea Obfuscator does its job well done. You are able to change the name of the classes and members and convert them to unreadable characters.