Kilka lat temu napisałem aplikację C # dla klienta, ale nie mam już kodu źródłowego. Wszystko, co mam, to plik EXE, który wdrożyłem na komputerze klienta. Czy istnieje sposób na wygenerowanie kodu źródłowego C # z EXE?
c#
.net
reverse-engineering
decompiling
MusiGenesis
źródło
źródło
Odpowiedzi:
Odbłyśnik i jego dodatek FileDisassembler .
Odbłyśnik pozwoli zobaczyć kod źródłowy. FileDisassembler pozwoli ci przekonwertować go na rozwiązanie VS.
źródło
Gdy Red Gate powiedział, że nie będzie już darmowa wersja .NET Reflector, zacząłem używać ILSpy i Telerik za JustDecompile . Znalazłem, że ILSpy dekompiluje dokładniej niż JustDecompile (który wciąż jest w wersji Beta). Red Gate zmienił swoją decyzję i nadal ma darmową wersję .Net Reflector, ale teraz lubię ILSpy.
Ze strony internetowej ILSpy ( https://github.com/icsharpcode/ILSpy/ ):
ILSpy to przeglądarka i dekompilator zestawu .NET typu open source.
Funkcje ILSpy
Aktualizacja:
15 kwietnia 2012, ILSpy 2.0 został wydany. Nowe funkcje w porównaniu z wersją 1.0:
Aktualizacja:
źródło
Reflector nie jest już ogólnie darmowy, ale oferuje go bezpłatnie programistom open source: http://reflectorblog.red-gate.com/2013/07/open-source/
Ale kilka firm, takich jak DevExtras i JetBrains, stworzyło bezpłatne alternatywy:
DevExtras CodeReflect
JetBrains DotPeek
źródło
Reflector i dodatek File Disassembler od Denisa Bauera. W rzeczywistości tworzy projekty źródłowe ze złożeń, w których sam Reflector wyświetla tylko zdemontowane źródło.
DODANO: Moim najnowszym faworytem jest dotPeek JetBrains .
źródło
Telerik JustDecompile jest bezpłatny i ma funkcję tworzenia projektów z zespołów .NET.
źródło
Dziwi mnie, że nikt nie wspominał o dziwactwie Microsoftu . Może nie jest tak ładny jak ILSpy lub Reflector, ale jest dostarczany z Visual Studio, więc wielu programistów już go ma.
Aby go uruchomić (zakładając, że VS 2013 powinien być podobny dla innych wersji):
Teraz możesz poruszać się po strukturze DLL. Kliknij dwukrotnie członków klasy, aby zobaczyć IL. Użyj polecenia Plik> Zrzut, aby wyeksportować IL do pliku.
źródło
Chcesz odbłyśnik .
źródło