Protect your .NET Applications/Libraries from 'Reflection'

23. December 2009 00:18

.NET Framework Utils  3 Comments

As a programmer, you put a lot of effort to create an application and incorporate some unique features in your application, which in turn makes your application more feature rich and different from other applications. The question here is, how do you feel when you come to know that someone has played with your code and then make a same application with his name...You did all the hard work and some random guy on this blue planet stole your code and takes all the credit.....Cry????

Well the answer lies in Obfuscation. It is a method to prevent your application from being reverse engineered. It makes the code of your application in unreadable form when it is viewed in any reflection tool. You will find many obfuscator tool, but some of them are not free and others are not ease at use. I do some search over the net and found a totally free and reliable tool for obfuscating my applications and libraries. This free obfuscating tool can be downloaded from here. The version here supports obfuscations for .NET framework 3.5 and for .NET framework 4.0, well we have to wait for the final release as it is still in beta but can be downloaded from here.

Let's see Red Gate's Reflector and Eazfuscator.NET (actual name of the obfuscater tool) in action

First I created a basic simple greeting application in Visual Studio 2008 (.NET Framework 3.5). The application has two buttons which greets the user and world respectively. Now take a look how the binary is diassembled by using reflector.

And now we will use Eazfuscator.NET to obfuscate our application. So first download and install the obfuscator tool form the above link and then simple drag-n-drop application on the right segment. I remommend to read the whole documentation before you start obfuscating your application and assemblies and make sure you have a bacup of your original application before you proceed.

Drag and drop your application here.

As soon as you drop your binary here the obfuscation process will start automatically.

And thats it, your code is now safe and you can distribute you applicaion without any more worries and for those who want to use the code just looking into the reflector and dont' want to scratch the heads we have this >>>> Money mouth!!!!

Now try opening your obfuscated application in reflector....and this is what you will see.Cool

 No Rating

Comments (3)

Lakshminarayanan.R Lakshminarayanan.R
1/25/2010 9:32:02 AM #

Hey...wonderful one!

Free Club Penguin Free Club Penguin
2/8/2010 6:06:00 AM #

It makes me reconsider releasing applications some times.

LogicNP LogicNP
7/7/2011 4:52:58 PM #

Yes, obfuscation is necessary. But use advanced ones like Crypto Obfuscator ( which provide various obfuscation protections to your assemblies - not just basic ones like string encryption, renaming, etc but advanced like method hiding, resource encryption+compression, etc

Add Comment

Visit to discover Indian blogs Computers Blogs