John R. Durant's WebLog

Blog of "The" Office Developer

Decompiling .NET Assemblies

One of the most over-looked tasks in .NET development is...obfuscation. BTW: it comes from the Latin word "to darken" (I knew my 10 years studying Latin would help me in a blog entry some day!).

Obfuscation is about making it effectively impossible (few things in computers seems impossible these days except "simple" things like AI) to decompile an assembly. After writing your .NET code and building it using a language compiler, it is converted to MSIL and packaged up in an executable. You can point a tool like ILDASM at the assembly and easily look at the IL instructions....unless it's been obfuscated. Now, for skunk-works projects and dev work, this is not necessary. But, when you roll out the product (even if it's only internal), you should obfuscate it.

While you can use ILDASM, there are better tools for navigating or even decompiling the MSIL. Here's my favorite: Reflector for .NET.

Reflector

It has a decent UI, and does the simple things very well. Lutz shoudl be commended for this one!

Here a some others (some require a fee):

Here a some others (some require a fee):

 Rock Thought for the Day: I love the raw rage of Smashing Pumpkins song, "Marquis in Spades". It begins like this:

and i'd love you to notice
i'm devoted
to destroy for no one
now it's that time again to take revenge
on all the debutantes and their friends
the bitter charlemagnes so self-absorbed
the bodily remains such a bore

It is the only song I know of in any genre that uses the word, 'charlemagnes". What's more, Corgan endows it with fiery rock-n-roll power. You can get this from Judas 0 in the Rotten Apples double CD.

Rock On

Published Thursday, August 25, 2005 8:41 AM by johnrdurant

Comments

 

Thomas said:

Do you know of any obfuscator thats reasonably priced, or even free?

I just need simple renaming, as its a little non-commercial project, but I cant afford massive $400 obfuscaters.
August 25, 2005 12:01 PM
 

Tricks & Tips said:

Here's one I found linked from a MSDN blog entry on decompiling .Net assemblies... It's a very cool reflection tool that lets you browse assembles, but which provides loads more information than the objectBrowser in VS.
February 10, 2006 11:34 AM
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker