Question

I am looking for a disassembler or better, a decompiler for .net. The situation is that the source code for an assembly written by one of my predecessors is lost and I'd like to take a look to see what it's doing.

I know that ildasm comes with the Visual Studio installation so I can get at the MSIL, but I was hoping there was a program clever enough to work back to the C# code (or best approximation).

Are there any tools for this out there?

(If not, I suppose it'll be a good excuse for me to sit down and start to learn MSIL)

Was it helpful?

Solution

Have you looked at Reflector?

http://www.red-gate.com/products/reflector/

OTHER TIPS

Now that Red Gate have started charging for the .NET Reflector tool you might want to check out these free alternatives instead...

Telerik JustDecompile

JetBrains dotPeek

(Open Source) ILSpy

Reflector is the way to go, but if you can't use that for some reason, Microsoft ships a disassembler called ILDasm with the framework.

A good source for MSIL knowledge is the book Expert .NET 2.0 IL Assembler by Serge Lidin.

.NET Reflector is the usual tool for this.

Ok,

I tried on a project. ILSpy

Telerik JustDecompile

.NET Reflector Demo

All can create Visual C# project. The generated code did not compile for JustDecompile and Reflector. In one case, ILSpy made a code that compiled (just references had to be set) The mistakes IlSpy did not look as compiicated as one found in others. All generated code can be fixed if one know C# well enough.

An interesting direction can be used to decompile code using both JustDecompile and Ilspy and merge the codes that are correct because these decompilers (and third as well) seem to make different mistakes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top