Etwas Besseres als .NET Reflektor?

Ich habe Reflector schon immer geliebt, aber seit RedGate es übernommen hat, ist es dramatisch bergab gegangen. Jetzt zwingt es mich zu aktualisieren (was absolut lächerlich ist), die Hälfte der Zeit, die das Update nicht reibungslos läuft, und es behindert zunehmend meine Produktivität mit jedem Update. Ich habe es satt, und ich bin bereit für etwas Besseres. Kennt jemand einen besseren Disassembler?


Aktualisieren:

Liste der verschiedenen in den Antworten genannten Alternativen –

  • ILSpy
  • dotPeek
  • JustDecompilieren
  • DisSharper
  • Mono Cecil
  • Kaliro
  • Dotnet AWL-Editor (DILE)
  • Common Compiler-Infrastruktur

    Schauen Sie sich auch ILSpy von SharpDevelop an . Es ist in frühen Stadien der Entwicklung und sie haben gerade eine Veröffentlichung am 24. Februar gemacht. Das alleine funktioniert ziemlich gut für mich. Von ihrer Website:

    ILSpy ist der Open-Source .NET Assembly Browser und Decompiler.

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

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

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

    Jetbrains wird den Decompiler zu seinem Resharper hinzufügen und auch den eigenständigen Decomplier veröffentlichen.

    Eine gute Nachricht ist, dass wir eine eigenständige Binary-as-a-Source-Anwendung vorbereiten, dh einen Decompiler + Assembly-Browser, um den gesamten .NET-kompilierten Code zu explorieren. Wir haben kein bestimmtes Datum für die Veröffentlichung, aber es wird dieses Jahr veröffentlicht, und es wird kostenlos sein. Und mit “frei” meinen wir eigentlich “frei”.

    Hier ist mehr Infos.

    UPDATE: JetBrains haben jetzt das Produkt namens dotPeek veröffentlicht und es kann hier gefunden werden .

    Meiner Meinung nach gibt es drei ernst zu nehmende Alternativen, die alle kostenlos sind :

    • ILSpy : Dies ist von den gleichen Leuten, die die (auch kostenlose) SharpDevelop-IDE machen. Es ist nicht nur kostenlos, sondern auch Open Source. Eine weitere Erweiterung, an der sie arbeiten, ist die Möglichkeit, dekompilierten Code zu debuggen (etwas, was die Pro-Version von Reflector kann), was überraschend gut funktioniert.
    • JustDecompile : Ein eigenständiger Decompiler von Telerik (heute angekündigt, derzeit in der Betaversion).
    • dotPeek : Ein eigenständiger Decompiler von JetBrains (momentan als Teil eines EAP verfügbar).

    All diese Ansätze nähern sich dem Problem auf unterschiedliche Weise mit unterschiedlichen Benutzeroberflächen. Ich würde vorschlagen, dass Sie alle versuchen und sehen, welche Sie bevorzugen.

    Einige andere, die hier nicht erwähnt sind –

    • 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 dem Datenträger speichern.

    • Kaliro : Dies ist ein Tool zum Erforschen 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 PDB-Dateien. Es kann sogar selbst oder die Assemblys von .NET Framework auf IL-Ebene debuggen.

    • Common Compiler Infrastructure : Die Common Compiler Infrastructure (CCI) von Microsoft Research besteht aus einer Reihe von Bibliotheken und einer Anwendungsprogrammierschnittstelle (Application Programming Interface, API), die einige der functionen unterstützen, die Compilern und zugehörigen Programmiertools gemein sind. CCI wird hauptsächlich von Anwendungen verwendet, die .NET Portable Executable (PE) – und Debug (PDB) -Dateien erstellen, ändern oder analysieren.

    .NET-Quellcode ist jetzt verfügbar.

    Sehen Sie diesen Link oder das

    Oder wenn Sie nach Decompiler suchen, habe ich DisSharper benutzt . Es war gut genug für mich.

    Die neueste Version von Red Gate ist 6.1. Die Version 5.1 kann jedoch nicht automatisch auf Version 6 aktualisiert werden, da Änderungen an den Nutzungsbedingungen vorgenommen wurden. Stattdessen werden Sie auf die Website weitergeleitet, um die Version 6.1 herunterzuladen. Dies ist meistens aus rechtlichen Gründen, wie Sie in dem folgenden Post einchecken können:

    Oi! Was passiert mit dem .NET Reflector Update-Mechanismus?

    Nachdem Sie manuell auf 6.1 aktualisiert haben, treten keine Probleme mehr auf.

    Anstatt den Autoupdater zu verwenden, setzen wir nur die Eigenschaften der exe auf readonly, so dass die Datei nicht gelöscht wird.

    Nicht sicher, was du wirklich willst. Wenn Sie den .Net-Framework-Quellcode sehen möchten, können Sie Netmassdownloader ausprobieren. Es ist kostenlos.

    Wenn Sie den Code einer Assembly sehen möchten (nicht nur .Net), können Sie Resharper verwenden. Obwohl es nicht kostenlos ist.

    9Rays hatten früher einen Decompiler, aber ich habe nicht lange nachgesehen. Es war nicht frei, ich erinnere mich …

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