January 16, 2007

dotNET - Protect IP, Obfuscation (Obfuscate)

Obfuscation is a methodology to make it more difficult to reverse-engineer your assemblies.
It's achieved by scrambling and removing some of the contents of the assembly.
Scrambling maybe just renaming of methods (it does not rename methods which are public to other assemblies outside).
It may also remove unnecessary Metadata such as Property descriptors.
There are various levels of Obfuscation and these can all be set in the Obfuscation application of your choice.
Obfuscated assemblies maybe accompanied by a Map file, a kind of settings file for the Obfuscation application.This map file may contain the renaming pattern you have used and is input to the Obfuscator application, it is useful if you wish to patch a system with say one assembly, and you want your new assembly to be obfuscated in the same way as the application.

Under Construction
Thwart Reverse Engineering of Your Visual Basic .NET or C# Code

No comments: