368

I used to love .NET Reflector back in the day, but ever since Red Gate Software took over it has gone downhill dramatically. Now it forces me to update (which is absolutely ridiculous), half the time the update doesn't go smoothly, and it is increasingly hindering my productivity with each update. I am sick of it, and I am ready for something better. Is there a better disassembler?


Update:

List of various alternatives mentioned in answers -

Imran Shamszadeh
  • 1,359
  • 3
  • 23
  • 43
Josh Stodola
  • 77,975
  • 43
  • 178
  • 222
  • I haven't had any bad experiences with Reflector, but that might be because we have the .NET Developer Bundle. Maybe you should write to RedGate and ask if there is some configuration you can tweak so Reflector does not check for updates. I know this does not answer your question, but you have not listed any complaints about its main features. Why not just address the annoying updates and maybe let RedGate know how annoying the updates have been for you? – flipdoubt Apr 15 '10 at 15:45
  • 5
    The main problem: every time that I *need* to use it to get out of a jam, it has to update! – Josh Stodola Apr 16 '10 at 05:33
  • 1
    @João I can't even open the application due to updates that are required, but the properties of the executable inidicate version 5.1.6.0 – Josh Stodola Apr 16 '10 at 14:13
  • 154
    +1, Reflector did everything I needed 3 years ago. To date it is the only program I have ever used that disables itself if I don't let it update when it wants to. Redgate have taken a great piece of software and ruined it. It may well be free, but thanks to this obnoxious attitude Redgate have ensured I will not be buying or recommending any of their software again. – Ash Apr 24 '10 at 13:00
  • 5
    Yeah we were also gonna purchase like a couple hundred licenses from them, but now I will recommend the company to use slimtune instead. Better and it's FREE. Red gate is a very shameless company for harassing us through email to force us to buy their software. Don't give out your email when you are downloading their software. – Joan Venge Apr 28 '10 at 19:17
  • 2
    @Joan Venge: SlimTune may be fine, but if you are looking for a commercial profiler be sure to check the JetBrain's dotTrace package. I've seen many recommendations (even on SO) of it over the RedGate's stuff. Also I own a couple of JetBrain's products and I must say it is pretty good stuff they make. – Piotr Owsiak Feb 02 '11 at 18:06
  • @thecoop: Thanks for the clarification. I've deleted that comment. – Greg Feb 02 '11 at 20:57
  • 4
    The auto-timebomb was there waaay before red gate bought it - http://channel9.msdn.com/forums/Coffeehouse/207147-Reflector-removes-itself/ – thecoop Feb 02 '11 at 21:04
  • 2
    @Josh lol, yeah that bit of news sucked. Your question is more relevant now, definitely. I'm still using the current version; if there is no choice but to buy I'm sure we'll see some alternative projects springing up. –  Feb 02 '11 at 22:05
  • 15
    Looks like this topic just gained some new life, now that RedGate is asking a minimum of $35 for what used to be the free version of Reflector. Sad day...sad day indeed. Hopefully the .NET community can come up with a quality FOSS competitor, and allow us to get away from the (not really so surprising) underhanded betrayal of RedGate. – jrista Feb 03 '11 at 17:34
  • 6
    +1 - Red Gate promised not to ruin it but it looks like they have. I don't run it that much and so have to update every time I do. But it doesn't tell me that--it just asks if it should update automatically. When I say 'No', it appears to do nothing. When I say 'Yes', it downloads and decompresses something and then throws up an error the Reflector.exe can't be accessed because it's in use! – Jonathan Wood Feb 05 '11 at 02:18
  • 71
    To be fair, we can't say Red Gate hasn't done work on the software. I'm using the paid version, and I notice they've done a lot of work to make it much slower than it used to be. – Ryan Lundy Jun 01 '11 at 17:38
  • Just to chime in on this old thread, the recent update (.NET Reflector 9.0) improves significantly in performance and usability. I'm not saying there aren't issues (I have regular crashes, but that can be said of other tools as well), but the obnoxious update issues have gone (you can just continue using it and it won't require you to update or disable itself). I have been using the paid and the free version (ILSpy) next to each other as they decompile with slightly different algorithms, the shown C# code is often different and this helps me stay sharp and not rely on it too much. – Abel Oct 28 '16 at 06:29
  • Just a notice, I work so long with JetBrains dotPeek and have been trying a Telerik JustDecompile and it was surprising that JustDecompile perform better decompile quality so I prefer it – igor_bugaenko Feb 20 '18 at 21:11
  • You can use the dnspy tool. Also encrypted modules get be restored from RAM memory. The GitHub project: https://github.com/0xd4d/dnSpy/blob/master/README.md – Adrian Stanculescu Jan 31 '20 at 15:19

9 Answers9

171

Also take a look at ILSpy by SharpDevelop. It's in early stages of development and they just made a release on the 24th of February. That in itself works pretty good for me. From their website:

ILSpy is the open-source .NET assembly browser and decompiler.

Development started after Red Gate announced that the free version of .NET Reflector would cease to exist by end of February 2011.

Update: JetBrains has released dotPeek, its free .NET decompiler.

Update 2: Telerik also has a free decompiler: JustDecompile.

Druid
  • 6,248
  • 3
  • 36
  • 52
  • 2
    Just tried it out. Worked like a charm. Get the binaries at http://build.sharpdevelop.net/BuildArtefacts/#ILSpy – StriplingWarrior Apr 05 '11 at 18:02
  • 3
    ILSpy FTW. Does everything I ever needed Reflector to do and does it without timebombing or auto-updating to a new version that works worse than the previous version. – Ian Kemp May 03 '11 at 07:11
  • 2
    ILSpy is definitely on par with Reflector. dotPeek takes longer to load and the download size is a bit high. And it uses spaces for indentation instead of tabs (and there's no config option to change)! :D +1 – James Skemp May 31 '11 at 16:59
  • 1
    Gold goes to ILSpy, silver is for dotPeek and bronze is for JustDecompile. – oddy Aug 25 '11 at 21:34
  • Worth noting ILSpy can be installed separately from SharpDevelop if you click into the Files section on SourceForge; some links you'll find suggest you have to have all of SharpDevelop to decompile to C# - you only need to install ILSpy to do so. – Chris Moschini Dec 27 '12 at 23:47
  • Another yes for ILSpy. Beautiful, quick, free. – Richard Griffiths Jan 04 '13 at 13:05
  • 2
    RedGate disappointed me with rather major price hikes and no paypal option. When I first looked it ws £20 for the basic version. Now it's £65 and more than doubles for VS integration. – Richard Griffiths Jan 04 '13 at 13:13
  • Just noting that, as of January 2015, none of these provide a better VB.NET decompilation than the last free Reflector (0.6). All of them fail in some way, but Reflector's failings are still the least worst. – Mark Hurd Jan 24 '15 at 06:30
  • I've just noticed I've been referring to Reflector 0.6 when I mean Reflector 6.8.2.5 (which is 5.0.0.0 assembly version). I'm sure I've mentioned this wrong version elsewhere, but Google and SO's search are not finding them. – Mark Hurd Jan 26 '15 at 04:02
  • 1
    DotPeek is a miracle.. Thank u so much.. – Abdul Saleem May 24 '15 at 19:13
  • Good luck trying to search the de-compiled code using ILSpy – Hugh Jeffner Nov 07 '16 at 17:55
  • And what is the status now for ILSpy? – Peter Mortensen Oct 21 '19 at 23:27
63

JetBrains is going to add a decompiler to its ReSharper, and release a stand-alone decompiler too.

The good news is that we’re preparing a standalone binary-as-a-source application, i.e. a decompiler + assembly browser to explore whatever .NET compiled code is legal to explore. We don’t have any specific date for release, but it’s going to be released this year, and it’s going to be free of charge. And by saying “free”, we actually mean “free”.

Here is more information.

UPDATE: JetBrains has now released the product called dotPeek and it can be found here.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
gor
  • 10,914
  • 4
  • 33
  • 40
  • 2
    I've just given ReSharper 6 EAP (released March 1, 2011) a whirl. The decompilation is there, works great, and is EXTREMELY convenient since it is integrated right into VS2010. Sounds like a stand-alone FREE version is coming, but for those of you who already use ReSharper, v6 definitely adds decompilation that works great! – jrista Mar 03 '11 at 00:11
  • 2
    Update: the free standalone decompiler by JetBrains called [dotPeek](http://www.jetbrains.com/decompiler/) has been released to early access. – Jura Gorohovsky May 20 '11 at 09:50
31

In my opinion, there are three serious alternatives to keep an eye on, all of which are free:

  • ILSpy: This is from the same people who make the (also free) SharpDevelop IDE. As well as being free, it is also open source. An additional extension they are working on is the ability to debug decompiled code (something which the pro version of Reflector can do), which works surprisingly well.
  • JustDecompile: A standalone decompiler from Telerik (announced today, currently in Beta).
  • dotPeek: A standalone decompiler from JetBrains (available standalone as part of an EAP at the moment).

All of these approach the problem in slightly different ways with differing UIs. I would suggest giving them all a try and seeing which one you prefer.

adrianbanks
  • 76,725
  • 21
  • 166
  • 198
13

Some others not mentioned here -

  • Mono Cecil: With Cecil, you can load existing managed assemblies, browse all the contained types, modify them on the fly and save back to the disk the modified assembly.

  • Kaliro: This is a tool for exploring the content of applications built using the Microsoft.Net framework.

  • Dotnet IL Editor (DILE): Dotnet IL Editor (DILE) allows disassembling and debugging .NET 1.0/1.1/2.0/3.0/3.5 applications without source code or .pdb files. It can debug even itself or the assemblies of the .NET Framework on IL level.

  • Common Compiler Infrastructure: Microsoft Research Common Compiler Infrastructure (CCI) is a set of libraries and an application programming interface (API) that supports some of the functionality that is common to compilers and related programming tools. CCI is used primarily by applications that create, modify or analyze .NET portable executable (PE) and debug (PDB) files.

akjoshi
  • 14,589
  • 13
  • 94
  • 116
8

The .NET source code is available now.

See this link or this

Or if you look for a decompiler, I was using DisSharper. It was good enough for me.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Hun1Ahpu
  • 3,169
  • 3
  • 24
  • 33
6

The latest version from Red Gate is 6.1. However the 5.1 version cannot automatically update to version 6 because there were changes to the Terms of Service, so instead you are redirected to the site to download the 6.1 version. This is mostly because of legal reasons as you can check in the following post:

Oi! What's going on with the .NET Reflector update mechanism?

After you manually update to 6.1 you will no longer experience any problems.

João Angelo
  • 51,934
  • 12
  • 129
  • 140
  • 6
    If the only solution is to upgrade, then I am looking for a different product. Foot is down :) – Josh Stodola Apr 28 '10 at 20:03
  • Wow that's pretty harsh Josh. It's a free product, nags me not once, and does a damned fine job. What's the problem? Just go give them a +@gmail address and get the software. – jcolebrand May 07 '10 at 18:48
  • @drachenstern It wouldn't be such a problem if it *always* behaved like this. How do you feel when a great piece of software that you've used for years suddenly develops annoying habits? Either you are a fairly accepting individual or you simply do not understand the importance of time in crucial circumstances. I **needed** Reflector to work one day, and instead I got updates with errors and lost five minutes. Those five minutes cost alot, literally. Changing a well-rounded product like this that already has a satisfied user base is atrocious, and they should know better. I am not alone! – Josh Stodola May 07 '10 at 19:46
  • Or ... I run the product regularly enough that an update once did not throw me off my stride, instead of leaving it to the dustbin for ages. Which is how you describe what happened. I'm also in the habit of making sure I run the latest tools, as I hate bugs creeping in when other developers have put in the time to get rid of annoying bugs. Like the 5.0 R#, which is about to go on 5.1EAP, which I'll be downloading in a few days. Sorry that you had a bad experience with an old product, but I doubt that's a useful reason to lash out at a company releasing a free product that's updated. – jcolebrand May 07 '10 at 20:54
  • 5
    Some people are happy with Version X, why should all the updates effect them? This seems to be a common issue with software lately. – Eric Schneider May 10 '10 at 23:18
  • 4
    @drachenstern: as it turns out the product will no longer be free, well one could expect that when Red Gate took over Reflector. The problem is that Red Gate's products are expensive and they do not have a pricing scheme for individual developers. Now RG says the Reflector will cost 35$ but I think this is just the beginning and it will end up costing much more. The sad thing is that this will decrease the "market" penetration for Reflector which over the years has been sort of a standard tool for .NET devs. Hopefully someone will work on an OSS alternative. – Piotr Owsiak Feb 02 '11 at 18:19
  • After 7 months I expected my commentary to be out of date there @PiotrOwsiak but I'm glad that you ignore the timestamps ;) I don't think $35 is too much to pay for a product like Reflector and doubt they will bring it up too much from that. I would personally expect to see it rise tho, in agreement with you, and imagine in 12 months to see it as high as $70. ~~ Additionally, I would expect that they worked out the kinks in the updater code so that the issues that Josh Stodola mentions above are now moot, thanks to the free releases. – jcolebrand Feb 02 '11 at 18:23
  • 4
    @drachenstern, it's not the price that's the issue. It's the fact that they went back on their word to keep the product free. What else are they going to lie about? The $35 is a "perpetual license", they say...but for how long? Till they miss their quarterly results again and decide to change it? – Ryan Lundy Feb 02 '11 at 23:01
  • @drachenstern: The problem is that I've spent the last half hour trying to run it and I can't! It worked great before. And the blog mentioned above talks about how it works this way to ensure upgrades benefit ALL users is plain bunk. It's a way for Red Gate to have more control over how the program is used and get everyone on their mailing list. There's no benefit to what I'm going through right now. @Joao: Nice that you didn't even include a link where we can get the damn thing. A pointless post! – Jonathan Wood Feb 05 '11 at 02:24
  • @JonathanWood I'm so sorry that you're having such an issue. Can I suggest SuperUser.com? – jcolebrand Feb 05 '11 at 02:25
  • @drachenstern: Thanks but I searched and found .NET Reflector on the Web. I just copied it to a different folder than the one that contains the old version, which is apparently running even though I don't see it in Task Manager. Red Gate was quite clear that they would keep this software free. There's no justifying what they are doing. – Jonathan Wood Feb 05 '11 at 02:36
  • @JonathanWood I can't say that I disagree with either viewpoint entirely. Each has merit. I also know that I have a non-updated version, so I'm in the same place that you just got to. – jcolebrand Feb 05 '11 at 02:42
  • @Jonathan Wood, the post tries to clarify why the OP was getting the problems described in his question. No more no less! It was never a question about where to get a link for downloading reflector, although I believe Google has the answer for that. – João Angelo Feb 05 '11 at 13:11
  • 2
    @drachenstern: I was aware your comment was months ago, I wanted to point out that what was going on back then kind of fits the whole situation now. I'm not saying RedGate is evil, although in this particular case it should be pointed out that they said they will keep Reflector free. What I tried to say is that 35$ and even 70$ doesn't fit the pricing scheme with the rest of their tools and I'm really worried Reflector will become quite expensive over time. Even though I might buy it, will I will no longer be able to say to my fellow devs: "Hey, just grab Reflector!" – Piotr Owsiak Feb 09 '11 at 13:20
  • Any body knows that is there any possibility that reflector 6 can work on machine where .net 4.5 is installed – Kamran Shahid Sep 16 '14 at 06:11
  • 1
    Price is now $95 for Red-Gate's reflector app. – TheLegendaryCopyCoder Dec 23 '15 at 11:53
4

Instead of using the autoupdater, we just set the properties of the EXE file to read-only. That way it doesn’t delete the file.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
mookie
  • 91
  • 1
  • 9
2

I am not sure what you really want here. If you want to see the .NET framework source code, you may try Netmassdownloader. It's free.

If you want to see any assembly's code (not just .NET), you can use ReSharper. Although it's not free.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Graviton
  • 76,900
  • 138
  • 399
  • 575
1

9Rays used to have a decompiler, but I haven't checked in a while. It was not free, I remember...

There is also a new one (at least for me) named Dis#.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Daniel Dolz
  • 2,275
  • 17
  • 21