Дизассемблер / декомпилятор.net
Я ищу дизассемблер или, лучше, декомпилятор для.net. Ситуация такова, что исходный код для сборки, написанной одним из моих предшественников, потерян, и я хотел бы посмотреть, что он делает.
Я знаю, что ildasm поставляется с установкой Visual Studio, поэтому я могу получить MSIL, но я надеялся, что была программа, достаточно умная, чтобы вернуться к коду C# (или в лучшем приближении).
Есть ли инструменты для этого там?
(Если нет, я полагаю, это будет хорошим поводом для меня сесть и начать изучать MSIL)
6 ответов
Вы смотрели на отражатель?
Теперь, когда Red Gate начали взимать плату за инструмент.NET Reflector, вы можете вместо этого попробовать эти бесплатные альтернативы...
Reflector - это то, что нужно, но если по какой-то причине вы не можете его использовать, Microsoft поставляет дизассемблер ILDasm с фреймворком.
Хороший источник знаний по MSIL - книга Сержа Лидина Expert .NET 2.0 IL Assembler.
В порядке,
Я примерял проект. ILSpy
Telerik JustDecompile
Демо.NET Reflector
Все могут создать проект Visual C#. Сгенерированный код не скомпилирован для JustDecompile и Reflector. В одном случае ILSpy создал код, который компилировался (нужно было установить только ссылки). Ошибки, которые IlSpy выглядел не так сложно, как в других. Весь сгенерированный код можно исправить, если достаточно хорошо знать C#.
Интересное направление может быть использовано для декомпиляции кода с использованием JustDecompile и Ilspy и объединения правильных кодов, потому что эти декомпиляторы (и третий тоже), похоже, допускают разные ошибки.