Декомпилятор exe файлов

Как декомпилировать .NET EXE в читаемый исходный код С#?
Я написал приложение С# для клиента пару лет назад, но у меня больше нет исходного кода. Все, что у меня есть, это EXE, который я развернул на клиентском ПК. Есть ли способ генерировать исходный код С# из EXE? Отражатель позволит увидеть исходный код. FileDisassembler позволит вам преобразовать его в решение VS. Когда Red Gate заявили, что больше не будет бесплатной версии .Net Reflector, я начал использовать ILSpy и Telerik JustDecompile.

Я нашел ILSpy более декомпилировать, чем JustDecompile (который все еще находится в бета-версии). Red Gate изменила свое решение и все еще имеет бесплатную версию .Net Reflector, но теперь мне нравится ILSpy. ILSpy - это браузер и декомпилятор с открытым исходным кодом .NET. Функции ILSpy. Сборочный просмотр Разборка МЛР Декомпиляция на С# Поддерживает lambdas и возвращает доход Показывает документацию XML Сохранение ресурсов Поиск типов/методов/свойств (подстрока) Навигация по типу/методу/свойствам на основе гиперссылок Навигация по базам/производным типам. История навигации BAML для декомпилятора XAML Сохранить сборку как проект С# Найти использование поля/метода Расширяемый через плагины (MEF)

Update: 15 апреля 2012 года был выпущен ILSpy 2.0. Новые возможности по сравнению с версией 1.0: Списки сборок Поддержка декомпиляции деревьев выражений Поддержка отмененных операторов по значениям nullable Декомпилировать Visual Basic Поиск нескольких строк, разделенных пробелом (поиск "Менеджер сборки" в ILSpy.exe найдет AssemblyListManager) При нажатии на локальную переменную будут выделены все другие вхождения этой переменной Ctrl + F может использоваться для поиска в режиме декомпилированного кода. Update:

ILSpy 2.1 поддерживает декомпиляцию async/await.


Новинки: