Вопрос

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

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

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

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

Это было полезно?

Решение

Вы смотрели Рефлектор?

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

Другие советы

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

Телерик JustDecompile

JetBrains dotPeek

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

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

Хорошим источником знаний MSIL является книга Экспертный ассемблер .NET 2.0 IL Серж Лидин.

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

Хорошо,

Я попробовал на проекте.ILSpy

Телерик JustDecompile

Демонстрация отражателя .NET

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top