Etwas besseres als .NET Reflector? [geschlossen]

365

Früher habe ich .NET Reflector geliebt, aber seit der Übernahme von Red Gate Software ist es dramatisch bergab gegangen. Jetzt zwinge ich mich zum Update (was absolut lächerlich ist), die Hälfte der Zeit, in der das Update nicht reibungslos verläuft, und es beeinträchtigt meine Produktivität mit jedem Update zunehmend. Ich habe es satt und bin bereit für etwas Besseres. Gibt es einen besseren Disassembler?


Aktualisieren:

Liste der verschiedenen in den Antworten genannten Alternativen -

Josh Stodola
quelle
5
Das Hauptproblem: jedes Mal, wenn ich brauche , es zu benutzen einen Stau raus, muß es update!
Josh Stodola
152
+1, Reflektor hat alles getan, was ich vor 3 Jahren brauchte. Bisher ist es das einzige Programm, das ich jemals verwendet habe, das sich selbst deaktiviert, wenn ich es nicht aktualisieren lasse, wenn es möchte. Redgate hat eine großartige Software genommen und sie ruiniert. Es mag kostenlos sein, aber dank dieser widerwärtigen Einstellung hat Redgate sichergestellt, dass ich keine ihrer Software mehr kaufen oder empfehlen werde.
Asche
15
Es sieht so aus, als hätte dieses Thema gerade etwas neues Leben erhalten, jetzt, da RedGate mindestens 35 US-Dollar für die frühere kostenlose Version von Reflector verlangt. Trauriger Tag ... trauriger Tag in der Tat. Hoffentlich kann die .NET-Community einen hochwertigen FOSS-Konkurrenten finden und es uns ermöglichen, dem (nicht wirklich so überraschenden) hinterhältigen Verrat an RedGate zu entkommen.
jrista
6
+1 - Red Gate hat versprochen, es nicht zu ruinieren, aber es sieht so aus, als hätten sie es getan. Ich führe es nicht so oft aus und muss es jedes Mal aktualisieren. Aber das sagt mir das nicht - es fragt nur, ob es automatisch aktualisiert werden soll. Wenn ich 'Nein' sage, scheint es nichts zu tun. Wenn ich "Ja" sage, wird etwas heruntergeladen und dekomprimiert und es wird ein Fehler ausgegeben, auf den auf Reflector.exe nicht zugegriffen werden kann, da es verwendet wird!
Jonathan Wood
71
Um fair zu sein, können wir nicht sagen, dass Red Gate nicht an der Software gearbeitet hat. Ich verwende die kostenpflichtige Version und stelle fest, dass sie viel Arbeit geleistet haben, um sie viel langsamer zu machen als früher.
Ryan Lundy

Antworten:

169

Schauen Sie sich auch ILSpy von SharpDevelop an . Es befindet sich in einem frühen Entwicklungsstadium und wurde erst am 24. Februar veröffentlicht. Das an sich funktioniert ziemlich gut für mich. Von ihrer Website:

ILSpy ist der Open-Source-.NET-Assemblybrowser und -Decompiler.

Die Entwicklung begann, nachdem Red Gate angekündigt hatte, dass die kostenlose Version von .NET Reflector Ende Februar 2011 nicht mehr existieren wird.

Update : JetBrains hat dotPeek veröffentlicht, seinen kostenlosen .NET-Dekompiler .

Update 2 : Telerik hat auch einen kostenlosen Dekompiler: JustDecompile .

Druide
quelle
2
Ich habe es gerade ausprobiert. Lief wie am Schnürchen. Holen Sie sich die Binärdateien bei build.sharpdevelop.net/BuildArtefacts/#ILSpy
StriplingWarrior
3
ILSpy FTW. Erledigt alles, wofür ich Reflector jemals benötigt habe, und tut dies, ohne Zeit zu verlieren oder automatisch auf eine neue Version zu aktualisieren, die schlechter als die vorherige Version funktioniert.
Ian Kemp
2
ILSpy ist Reflector definitiv ebenbürtig. Das Laden von dotPeek dauert länger und die Downloadgröße ist etwas hoch. Und es werden Leerzeichen zum Einrücken anstelle von Tabulatoren verwendet (und es gibt keine Konfigurationsoption zum Ändern)! : D +1
James Skemp
1
Gold geht an ILSpy, Silber für dotPeek und Bronze für JustDecompile.
seltsam
2
RedGate enttäuschte mich mit ziemlich großen Preiserhöhungen und ohne Paypal-Option. Als ich das erste Mal nachgesehen habe, waren es 20 Pfund für die Basisversion. Jetzt sind es £ 65 und mehr als das Doppelte für die VS-Integration.
Richard Griffiths
62

JetBrains wird seinem ReSharper einen Dekompiler hinzufügen und auch einen eigenständigen Dekompiler veröffentlichen.

Die gute Nachricht ist, dass wir eine eigenständige Binär-als-Quelle-Anwendung vorbereiten, dh einen Dekompiler + Assembly-Browser, um zu untersuchen, welcher .NET-kompilierte Code legal ist. Wir haben keinen bestimmten Veröffentlichungstermin, aber er wird dieses Jahr veröffentlicht und ist kostenlos. Und mit „frei“ meinen wir eigentlich „frei“.

Hier finden Sie weitere Informationen.

UPDATE: JetBrains hat jetzt das Produkt dotPeek veröffentlicht, das hier zu finden ist .

gor
quelle
2
Ich habe gerade ReSharper 6 EAP (veröffentlicht am 1. März 2011) einen Wirbel gegeben. Die Dekompilierung ist da, funktioniert hervorragend und ist EXTREM praktisch, da sie direkt in VS2010 integriert ist. Klingt so, als ob eine eigenständige KOSTENLOSE Version kommt, aber für diejenigen unter Ihnen, die ReSharper bereits verwenden, fügt v6 definitiv eine Dekompilierung hinzu, die großartig funktioniert!
jrista
2
Update: Der kostenlose eigenständige Dekompiler von JetBrains namens dotPeek wurde für den frühen Zugriff freigegeben.
Jura Gorohovsky
31

Meiner Meinung nach gibt es drei ernsthafte Alternativen, die Sie im Auge behalten sollten und die alle kostenlos sind :

  • ILSpy : Dies ist von denselben Personen, die die (ebenfalls kostenlose) SharpDevelop-IDE erstellt haben. Es ist nicht nur kostenlos, sondern auch Open Source. Eine zusätzliche Erweiterung, an der sie arbeiten, ist die Möglichkeit, dekompilierten Code zu debuggen (was die Pro-Version von Reflector kann), was überraschend gut funktioniert.
  • JustDecompile : Ein eigenständiger Dekompiler von Telerik (heute angekündigt, derzeit in der Beta).
  • dotPeek : Ein eigenständiger Dekompiler von JetBrains (derzeit als Teil eines EAP verfügbar).

All dies geht das Problem mit unterschiedlichen Benutzeroberflächen auf leicht unterschiedliche Weise an. Ich würde vorschlagen, sie alle auszuprobieren und zu sehen, welche Sie bevorzugen.

adrianbanks
quelle
4
+1 Für JustDecompile sieht es sehr vielversprechend aus!
Josh Stodola
1
JustDecompile ist großartig. Ich habe viele andere ausprobiert, es ist großartig!
Shimmy Weitzhandler
13

Einige andere hier nicht erwähnt -

  • Mono Cecil : Mit Cecil können Sie vorhandene verwaltete Assemblys laden, alle enthaltenen Typen durchsuchen, sie im laufenden Betrieb ändern und die geänderte Assembly auf der Festplatte speichern.

  • Kaliro : Dies ist ein Tool zum Erkunden des Inhalts von Anwendungen, die mit dem Microsoft.Net-Framework erstellt wurden.

  • Dotnet IL Editor (DILE) : Der Dotnet IL Editor (DILE) ermöglicht das Zerlegen und Debuggen von .NET 1.0 / 1.1 / 2.0 / 3.0 / 3.5-Anwendungen ohne Quellcode oder PDF-Dateien. Es kann sogar sich selbst oder die Assemblys von .NET Framework auf IL-Ebene debuggen.

  • Gemeinsame Compiler-Infrastruktur : Microsoft Research Die Common Compiler-Infrastruktur (CCI) besteht aus einer Reihe von Bibliotheken und einer Anwendungsprogrammierschnittstelle (API), die einige der Funktionen unterstützt, die Compiler und verwandte Programmiertools gemeinsam haben. CCI wird hauptsächlich von Anwendungen verwendet, die .NET Portable Execute (PE) - und Debug (PDB) -Dateien erstellen, ändern oder analysieren.

Akjoshi
quelle
8

Der .NET-Quellcode ist ab sofort verfügbar.

Siehe diesen Link oder diese

Oder wenn Sie nach einem Dekompiler suchen, habe ich DisSharper verwendet . Es war gut genug für mich.

Hun1Ahpu
quelle
Cool. Hat jemand den eigentlichen Link zum Download gefunden?
Jonathan Wood
6
Das gilt für begrenzte Bereiche des Frameworks. Auf keinen Fall ein Ersatz für einen Dekompiler
CamronBute
6

Die neueste Version von Red Gate ist 6.1. Die 5.1-Version kann jedoch nicht automatisch auf Version 6 aktualisiert werden, da Änderungen an den Nutzungsbedingungen vorgenommen wurden. Stattdessen werden Sie zum Herunterladen der 6.1-Version auf die Website weitergeleitet. Dies liegt hauptsächlich an rechtlichen Gründen, wie Sie im folgenden Beitrag nachlesen können:

Oi! Was ist mit dem .NET Reflector-Aktualisierungsmechanismus los?

Nach dem manuellen Update auf 6.1 treten keine Probleme mehr auf.

João Angelo
quelle
6
Wenn die einzige Lösung ein Upgrade ist, suche ich nach einem anderen Produkt. Fuß ist unten :)
Josh Stodola
5
Einige Leute sind mit Version X zufrieden. Warum sollten sich alle Updates auf sie auswirken? Dies scheint in letzter Zeit ein häufiges Problem bei Software zu sein.
Eric Schneider
4
@drachenstern: Wie sich herausstellt, wird das Produkt nicht mehr kostenlos sein, das könnte man erwarten, als Red Gate Reflector übernahm. Das Problem ist, dass die Produkte von Red Gate teuer sind und kein Preisschema für einzelne Entwickler haben. Jetzt sagt RG, dass der Reflektor 35 $ kosten wird, aber ich denke, dies ist nur der Anfang und es wird am Ende viel mehr kosten. Das Traurige ist, dass dies die "Markt" -Durchdringung für Reflector verringern wird, das im Laufe der Jahre eine Art Standardwerkzeug für .NET-Entwickler war. Hoffentlich arbeitet jemand an einer OSS-Alternative.
Piotr Owsiak
4
@drachenstern, es ist nicht der Preis, der das Problem ist. Es ist die Tatsache, dass sie ihr Wort zurückgenommen haben, um das Produkt frei zu halten. Worüber werden sie sonst noch lügen? Die 35 Dollar sind eine "unbefristete Lizenz", heißt es ... aber wie lange? Bis sie ihre Quartalsergebnisse wieder verpassen und beschließen, sie zu ändern?
Ryan Lundy
2
@drachenstern: Mir war bewusst, dass Ihr Kommentar vor Monaten war. Ich wollte darauf hinweisen, dass das, was damals vor sich ging, jetzt irgendwie in die ganze Situation passt. Ich sage nicht, dass RedGate böse ist, obwohl in diesem speziellen Fall darauf hingewiesen werden sollte, dass sie sagten, sie würden Reflector frei halten. Ich habe versucht zu sagen, dass 35 $ und sogar 70 $ nicht zum Preisschema des restlichen Tools passen, und ich bin wirklich besorgt, dass Reflector mit der Zeit ziemlich teuer wird. Auch wenn ich es kaufen könnte, werde ich meinen Kollegen nicht mehr sagen können: "Hey, schnapp dir einfach Reflector!"
Piotr Owsiak
4

Anstatt den Autoupdater zu verwenden, setzen wir einfach die Eigenschaften der EXE-Datei auf schreibgeschützt. Auf diese Weise wird die Datei nicht gelöscht.

Mookie
quelle
2

Ich bin mir nicht sicher, was Sie hier wirklich wollen. Wenn Sie den .NET Framework-Quellcode anzeigen möchten, können Sie Netmassdownloader ausprobieren . Es ist kostenlos.

Wenn Sie den Code einer Assembly anzeigen möchten (nicht nur .NET), können Sie ReSharper verwenden . Obwohl es nicht kostenlos ist.

Graviton
quelle
2
Code? Eher nur Typdefinitionen, oder?
Piotr Owsiak
Sie benötigen einen großen Cluster, um Resharper auszuführen. Einige von uns codieren gerne auf einem Laptop.
Ivan G.
1

9Rays hatten früher einen Dekompiler, aber ich habe eine Weile nicht eingecheckt. Es war nicht kostenlos, ich erinnere mich ...

Es gibt auch eine neue (zumindest für mich) namens Dis #.

Daniel Dolz
quelle