A .net disassembler/decompiler [closed]
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)
Solution
Have you looked at 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...
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.