Something better than .NET Reflector? [closed]
Asked Answered
J

9

373

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 -

Janelljanella answered 15/4, 2010 at 15:34 Comment(15)
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?Golding
The main problem: every time that I need to use it to get out of a jam, it has to update!Janelljanella
@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.0Janelljanella
+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.Cahilly
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.Nowise
@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.Rhetor
@thecoop: Thanks for the clarification. I've deleted that comment.Neils
The auto-timebomb was there waaay before red gate bought it - channel9.msdn.com/forums/Coffeehouse/…Solitary
@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.Contrition
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.Curkell
+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!Demolish
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.Asynchronism
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.Hoodoo
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 itProbst
You can use the dnspy tool. Also encrypted modules get be restored from RAM memory. The GitHub project: github.com/0xd4d/dnSpy/blob/master/README.mdHokkaido
U
176

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.

Uprear answered 23/3, 2011 at 13:45 Comment(11)
Just tried it out. Worked like a charm. Get the binaries at build.sharpdevelop.net/BuildArtefacts/#ILSpyCure
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.Piggery
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 +1Snap
Gold goes to ILSpy, silver is for dotPeek and bronze is for JustDecompile.Cumshaw
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.Chenab
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.Bukhara
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.Sally
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.Sally
Good luck trying to search the de-compiled code using ILSpyDespatch
And what is the status now for ILSpy?Nodose
I tried ILSpy and dotPeek and both worked perfectly. I used dotPeek for its GUI and ILSpy for automation. For automation ILSpy is perfect since installation (dotnet tool install ilspycmd -g) and cli usage (ilspycmd file.dll -p -o D:\tmp\ddl_extract) are easy:Wellbeing
T
64

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.

Tiffanitiffanie answered 18/2, 2011 at 10:4 Comment(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!Curkell
Update: the free standalone decompiler by JetBrains called dotPeek has been released to early access.Terrellterrena
C
32

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.

Circumgyration answered 27/4, 2011 at 23:52 Comment(0)
G
14

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.

Goth answered 7/6, 2012 at 9:41 Comment(0)
S
9

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.

Semiquaver answered 15/4, 2010 at 15:51 Comment(2)
Cool. Did anyone find the actual link to the download?Demolish
That's for limited areas of the Framework. Definitely not a replacement for a decompilerBibliophile
M
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.

Misericord answered 16/4, 2010 at 14:23 Comment(17)
If the only solution is to upgrade, then I am looking for a different product. Foot is down :)Janelljanella
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.Mattland
@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!Janelljanella
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.Mattland
Some people are happy with Version X, why should all the updates effect them? This seems to be a common issue with software lately.Celestina
@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.Rhetor
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.Mattland
@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?Asynchronism
@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!Demolish
@JonathanWood I'm so sorry that you're having such an issue. Can I suggest SuperUser.com?Mattland
@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.Demolish
@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.Mattland
@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.Devote
@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!"Rhetor
Any body knows that is there any possibility that reflector 6 can work on machine where .net 4.5 is installedOverarm
Price is now $95 for Red-Gate's reflector app.Mansur
Link in answer is dead - "404 Not Found".Uredo
M
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.

Maldives answered 15/10, 2010 at 12:39 Comment(0)
B
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.

Burschenschaft answered 15/4, 2010 at 15:49 Comment(2)
Code? Rather just type definitions, right?Rhetor
you need a big cluster to run resharper, some of us like to code on a laptop )Cultrate
M
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#.

Misread answered 15/4, 2010 at 15:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.