Have you ever heard the term Obfuscation? Obfuscation
of .NET program is a process to save your program’s code from various types of decompilers. We will discuss obfuscating .NET program only and not other like Java. Actually when your .NET program is compiled, Visual Studio generates an assembly containing MSIL
(Microsoft Intermediate Language), managed resources, meta-data describing almost everything of your code like methods, events etc.
, as defined by Wikipedia
, is a process of renaming the meta-data in an assembly so that it is no longer useful for hackers. It doesn’t modify the actual instructions but mask them. The programs which obfuscate your .NET code are called Obfuscators
Obfuscation prevents your .NET code from being decompiled by programs such as .NET Reflector
. Most .NET developers don’t know that their program can be decompiled with a great ease (Even I came to know last week, thanks to Ramesh Kumar
There are a number of Obfuscators which prevent your code from being shown. As we have already said, they don’t modify the actual instructions but mask them in some way. Here’s an example of Before-After Obfuscation. Obfucation can be done in many types such as Control Flow Obfuscation, Renaming, String Encryption, Pruning etc about which you can read in detail at Wikipedia
Most of the Obfucators available today are paid and costing from $299 to $4299
approx depending on type of security. Wikipedia has a list of Obfuscators which links to their website and shows price. You can check out this list by clicking here
There are only two FREE
and working Obfuscators I have come across till now: Obfuscar
. Obfuscar doesn’t have a user-interface and needs to be configured manually. However, Confuser does have a user-interface which is clean and easy to use. In my case, Confuser did the work very smartly and accurately. So I will recommend you to use Confuser if you need a FREE .NET Obfuscator.
Join Us On Facebook and Twitter and you can subscribe via email too