Ich habe vor ein paar Jahren eine C # -Anwendung für einen Client geschrieben, aber ich habe den Quellcode nicht mehr. Ich habe nur die EXE-Datei, die ich auf dem PC des Clients bereitgestellt habe. Gibt es eine Möglichkeit, C # -Quellcode aus der EXE-Datei zu generieren?
c#
.net
reverse-engineering
decompiling
MusiGenesis
quelle
quelle
Antworten:
Reflektor und sein Add-In FileDisassembler .
Mit Reflector kann der Quellcode angezeigt werden. Mit FileDisassembler können Sie es in eine VS-Lösung konvertieren.
quelle
Als Red Gate sagte, dass es keine kostenlose Version von .Net Reflector mehr geben würde, begann ich, ILSpy und Teleriks JustDecompile zu verwenden . Ich habe festgestellt, dass ILSpy genauer dekompiliert als JustDecompile (das sich noch in der Beta befindet). Red Gate hat ihre Entscheidung geändert und hat immer noch eine kostenlose Version von .Net Reflector, aber jetzt mag ich ILSpy.
Von der ILSpy-Website ( https://github.com/icsharpcode/ILSpy/ ):
ILSpy ist der Open-Source-Browser und Dekompiler für .NET-Assemblys.
ILSpy-Funktionen
Aktualisieren:
Am 15. April 2012 wurde ILSpy 2.0 veröffentlicht. Neue Funktionen im Vergleich zu Version 1.0:
Aktualisieren:
quelle
Reflector ist im Allgemeinen nicht mehr kostenlos, wird jedoch Open Source-Entwicklern kostenlos angeboten: http://reflectorblog.red-gate.com/2013/07/open-source/
Einige Unternehmen wie DevExtras und JetBrains haben jedoch kostenlose Alternativen entwickelt:
DevExtras CodeReflect
JetBrains DotPeek
quelle
Reflector und das File Disassembler Add-In von Denis Bauer. Es werden tatsächlich Quellprojekte aus Assemblys erstellt, wobei Reflector allein nur die zerlegte Quelle anzeigt.
HINZUGEFÜGT: Mein neuester Favorit ist dotBeins von JetBrains .
quelle
Telerik JustDecompile ist kostenlos und bietet eine Funktion zum Erstellen von Projekten aus .NET-Assemblys.
quelle
Ich bin überrascht, dass niemand das Iildasmus von Microsoft erwähnt hat . Es ist vielleicht nicht so hübsch wie ILSpy oder Reflector, aber es kommt mit Visual Studio, so viele Entwickler haben es bereits.
Um es auszuführen (vorausgesetzt, VS 2013 sollte für andere Versionen ähnlich sein):
Jetzt können Sie in der DLL-Struktur navigieren. Doppelklicken Sie auf Klassenmitglieder, um die IL anzuzeigen. Verwenden Sie Datei> Speicherauszug, um IL in eine Datei zu exportieren.
quelle
Du willst einen Reflektor .
quelle