Integrates with Visual Studio

Integrates with Visual Studio

Obfuscate directly from Visual Studio.

Works out of the box

Works out of the box

The software is clever enough to figure out what it can safely modify.

Build as you like

Build as you like

Run from MSBuild, NAnt or Command line.

Obfuscate XAML

Obfuscate XAML

Protect your Silverlight and WPF assemblies.

Easy configuration

Easy finetuning

Tweak the way your code is obfuscated.

Anything .NET

Anything .NET

C#, VB.NET, F#, Silverlight, Windows Phone 7, Compact Framework...

Why do I need code protection?

All languages that target the Microsoft.NET framework compile your code into assemblies. These assemblies contain IL (Intermediate Language) code and so-called metadata. The metadata describes types, methods, fields and much more.

This is good for speed of development, but not for protection of your intellectual property.
All of this information in your assemblies makes it easy to reverse-engineer your code.

The following image shows just a fraction of what information is contained in a simple assembly.

Members fully visible

As you can imagine, this kind of information makes it easy for a hacker to find and use your intellectual property.
It also gives a hacker easy access to your licensing mechanism which he/she can then work around or disable.

What ever the hacker is doing with your code, it is probably not what you want.

That's why you need code protection and that is where DeepSea Obfuscator comes in.

What does an obfuscator do?

An obfuscator modifies your assemblies in such a way that your code will run unchanged but it becomes really hard to understand the code.

To achieve this, an obfuscator uses (a combination of) code modifications called features.

Renamed members

The most frequently used feature is called renaming. For example "IsTheLicenseValid" is renamed to "a" making it impossible to guess what the purpose of the function is.

The image on the right shows the result of renaming the code on the previous page. The 'blocks' are unreadable characters.

Another frequently used feature is called string encryption. All strings used in your code are clearly visible in an assembly. String encryption converts these literal strings into some encrypted form and adds a few instructions used to decode them at runtime.

Tools like Reflector make it easy to decompile your code into C# or VB.NET code. It's like reading back your source code without comments.
Control flow obfuscation is a feature that prevents this. It takes the compiled method code and modifies it such that is becomes "spaghetti". You may still see some code after decompiling but you have no idea what this code does.

The features described above are just a few of the features of DeepSea Obfuscator. You can read more on the overview page .

So does this mean that my assemblies can no longer be hacked?

Unfortunately not. Every code, including obfuscated code, can be hacked.
However, by using DeepSea Obfuscator you make hacking your code so much harder, that it's probably no longer worth the time and money.