Дизассемблер / декомпилятор.net

Я ищу дизассемблер или, лучше, декомпилятор для.net. Ситуация такова, что исходный код для сборки, написанной одним из моих предшественников, потерян, и я хотел бы посмотреть, что он делает.

Я знаю, что ildasm поставляется с установкой Visual Studio, поэтому я могу получить MSIL, но я надеялся, что была программа, достаточно умная, чтобы вернуться к коду C# (или в лучшем приближении).

Есть ли инструменты для этого там?

(Если нет, я полагаю, это будет хорошим поводом для меня сесть и начать изучать MSIL)

6 ответов

Решение

Вы смотрели на отражатель?

http://www.red-gate.com/products/reflector/

Теперь, когда Red Gate начали взимать плату за инструмент.NET Reflector, вы можете вместо этого попробовать эти бесплатные альтернативы...

Telerik JustDecompile

JetBrains dotPeek

(Открытый исходный код) ILSpy

Reflector - это то, что нужно, но если по какой-то причине вы не можете его использовать, Microsoft поставляет дизассемблер ILDasm с фреймворком.

Хороший источник знаний по MSIL - книга Сержа Лидина Expert .NET 2.0 IL Assembler.

.NET Reflector - обычный инструмент для этого.

В порядке,

Я примерял проект. ILSpy

Telerik JustDecompile

Демо.NET Reflector

Все могут создать проект Visual C#. Сгенерированный код не скомпилирован для JustDecompile и Reflector. В одном случае ILSpy создал код, который компилировался (нужно было установить только ссылки). Ошибки, которые IlSpy выглядел не так сложно, как в других. Весь сгенерированный код можно исправить, если достаточно хорошо знать C#.

Интересное направление может быть использовано для декомпиляции кода с использованием JustDecompile и Ilspy и объединения правильных кодов, потому что эти декомпиляторы (и третий тоже), похоже, допускают разные ошибки.

Другие вопросы по тегам