Я написал C # -приложение для клиента пару лет назад, но у меня больше нет исходного кода. Все, что у меня есть, это EXE-файл, который я развернул на компьютере клиента. Есть ли способ, которым я могу генерировать исходный код C # из EXE?
Я написал C # -приложение для клиента пару лет назад, но у меня больше нет исходного кода. Все, что у меня есть, это EXE-файл, который я развернул на компьютере клиента. Есть ли способ, которым я могу генерировать исходный код C # из EXE?
Ответы:
Отражатель и его надстройка FileDisassembler .
Отражатель позволит увидеть исходный код. FileDisassembler позволит вам преобразовать его в решение VS.
Когда Red Gate заявил, что больше не будет бесплатной версии .Net Reflector, я начал использовать ILSpy и Telerik JustDecompile . Я обнаружил, что ILSpy декомпилируется более точно, чем JustDecompile (который все еще находится в бета-версии). Red Gate изменила свое решение и до сих пор имеет бесплатную версию .Net Reflector, но теперь мне нравится ILSpy.
С веб-сайта ILSpy ( https://github.com/icsharpcode/ILSpy/ ):
ILSpy - это браузер и декомпилятор сборки .NET с открытым исходным кодом.
Обновить:
15 апреля 2012 года вышел ILSpy 2.0. Новые функции по сравнению с версией 1.0:
Обновить:
Reflector больше не является бесплатным в целом, но они предлагают его бесплатно для разработчиков с открытым исходным кодом: http://reflectorblog.red-gate.com/2013/07/open-source/
Но несколько компаний, таких как DevExtras и JetBrains, создали бесплатные альтернативы:
Отражатель и надстройка File Disassembler от Дениса Бауэра. Он фактически создает исходные проекты из сборок, где Reflector самостоятельно отображает только разобранный источник.
ДОБАВЛЕНО: Мой последний фаворит - это dotPeek JetBrains .
Telerik JustDecompile бесплатен и имеет функцию для создания проектов из сборок .NET.
Я удивлен, что никто не упомянул ildasm от Microsoft . Он может быть не таким красивым, как ILSpy или Reflector, но он поставляется с Visual Studio, так что многие разработчики уже имеют его.
Для его запуска (при условии, что VS 2013 должен быть похож на другие версии):
Теперь вы можете перемещаться по структуре DLL. Дважды щелкните по ученикам, чтобы увидеть IL. Используйте File> Dump для экспорта IL в файл.
Вы хотите отражатель .