Что-то лучше, чем .NET Reflector? [закрыто]

365

Раньше я любил .NET Reflector, но с тех пор, как Red Gate Software занял его место, он резко упал. Теперь это заставляет меня обновляться (что совершенно нелепо), половину времени обновление не проходит гладко, и с каждым обновлением это все больше мешает моей производительности. Мне это надоело, и я готова к чему-то лучшему. Есть ли лучший дизассемблер?


Обновить:

Список различных альтернатив, упомянутых в ответах -

Джош Стодола
источник
5
Основная проблема: каждый раз, когда мне нужно использовать его, чтобы выйти из варенья, оно должно обновляться!
Джош Стодола
152
+1, Reflector сделал все необходимое 3 года назад. На сегодняшний день это единственная программа, которую я когда-либо использовал, которая отключает себя, если я не позволяю ей обновляться, когда она хочет. Redgate взял большой кусок программного обеспечения и разрушил его. Это может быть бесплатно, но благодаря этому отвратительному поведению Redgate гарантирует, что я не буду покупать или рекомендовать какое-либо из их программного обеспечения снова.
Пепел
15
Похоже, что эта тема только что получила новую жизнь, теперь, когда RedGate запрашивает минимум 35 долларов за то, что раньше было бесплатной версией Reflector. Грустный день ... грустный день действительно. Надеемся, что сообщество .NET сможет найти качественного конкурента FOSS и позволить нам уйти от (не очень удивительного) закулисного предательства RedGate.
jrista
6
+1 - Красные Ворота обещали не разрушать их, но похоже, что они это сделали. Я не запускаю его так часто, поэтому приходится обновлять его каждый раз. Но это не говорит мне об этом - он просто спрашивает, должно ли оно обновляться автоматически. Когда я говорю «нет», кажется, ничего не делает. Когда я говорю «Да», он загружает и распаковывает что-то, а затем выдает ошибку, что Reflector.exe не доступен, потому что он используется!
Джонатан Вуд
71
Честно говоря, мы не можем сказать, что Red Gate не выполнили работу над программным обеспечением. Я использую платную версию, и я заметил, что они проделали большую работу, чтобы сделать ее намного медленнее, чем раньше.
Райан Ланди

Ответы:

169

Также взгляните на ILSpy от SharpDevelop . Он находится на ранней стадии разработки, и они только что выпустили релиз 24 февраля. Это само по себе работает довольно хорошо для меня. С их сайта:

ILSpy - это браузер и декомпилятор сборки .NET с открытым исходным кодом.

Разработка началась после того, как Red Gate объявила, что бесплатная версия .NET Reflector прекратит свое существование к концу февраля 2011 года.

Обновление : JetBrains выпустила dotPeek, бесплатный .NET-декомпилятор .

Обновление 2 : Telerik также имеет бесплатный декомпилятор: JustDecompile .

друид
источник
2
Только что попробовал. Работал как шарм. Получить двоичные файлы в build.sharpdevelop.net/BuildArtefacts/#ILSpy
StriplingWarrior
3
ILSpy FTW. Делает все, что мне когда-либо требовалось, чтобы Reflector делал, и делает это без бомбардировки или автоматического обновления до новой версии, которая работает хуже, чем предыдущая версия.
Ян Кемп
2
ILSpy определенно на одном уровне с Reflector. Загрузка dotPeek занимает больше времени, а размер загрузки немного высок. И он использует пробелы для отступа вместо вкладок (и нет никаких настроек для изменения)! : D +1
Джеймс Скемп
1
Золото достается ILSpy, серебро - dotPeek, бронза - JustDecompile.
Одд
2
RedGate разочаровал меня довольно значительным повышением цен и отсутствием опции PayPal. Когда я впервые посмотрел, это было £ 20 для базовой версии. Теперь это 65 фунтов стерлингов и более чем вдвое больше за интеграцию VS.
Ричард Гриффитс
62

JetBrains собирается добавить декомпилятор в свой ReSharper, а также выпустить автономный декомпилятор.

Хорошая новость заключается в том, что мы готовим отдельное двоичное приложение как исходный код, то есть браузер декомпилятора и сборки, чтобы исследовать любой скомпилированный код .NET, допустимый для изучения. У нас нет конкретной даты релиза, но она выйдет в этом году и будет бесплатной. И, говоря «бесплатно», мы на самом деле имеем в виду «бесплатно».

Здесь больше информации.

ОБНОВЛЕНИЕ: JetBrains выпустила продукт под названием dotPeek, который можно найти здесь .

Gor
источник
2
Я только что дал ReSharper 6 EAP (выпущен 1 марта 2011 года) водоворот. Декомпиляция есть, прекрасно работает и очень удобна, поскольку она интегрирована прямо в VS2010. Звучит так, как будто бы появилась бесплатная БЕСПЛАТНАЯ версия, но для тех из вас, кто уже использует ReSharper, v6 определенно добавляет декомпиляцию, которая прекрасно работает!
jrista
2
Обновление: бесплатный автономный декомпилятор JetBrains под названием dotPeek был выпущен для раннего доступа.
Юра Гороховский
31

На мой взгляд, есть три серьезные альтернативы, за которыми нужно следить, и все они бесплатны :

  • ILSpy : Это от тех же людей, которые делают (также бесплатную) SharpDevelop IDE. Помимо того, что это бесплатно, это также с открытым исходным кодом. Дополнительным расширением, над которым они работают, является возможность отладки декомпилированного кода (что может делать про версия Reflector), что работает на удивление хорошо.
  • JustDecompile : автономный декомпилятор от Telerik (анонсирован сегодня, в настоящее время в бета-версии).
  • dotPeek : автономный декомпилятор от JetBrains (в данный момент доступен как отдельный компонент EAP).

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

adrianbanks
источник
4
+1 Для JustDecompile выглядит очень перспективно!
Джош Стодола
1
JustDecompile это здорово. Я пробовал много других, это здорово!
Шимми Вайцхандлер
13

Некоторые другие, не упомянутые здесь -

  • Mono Cecil : С помощью Cecil вы можете загружать существующие управляемые сборки, просматривать все содержащиеся в них типы, изменять их на лету и сохранять обратно на диск измененную сборку.

  • Калиро : Это инструмент для изучения содержимого приложений, созданных с использованием платформы Microsoft.Net.

  • Dotnet IL Editor (DILE) : Dotnet IL Editor (DILE) позволяет разбирать и отлаживать приложения .NET 1.0 / 1.1 / 2.0 / 3.0 / 3.5 без исходного кода или файлов .pdb. Он может отлаживать даже себя или сборки .NET Framework на уровне IL.

  • Общая инфраструктура компилятора : Microsoft Research Общая инфраструктура компилятора (CCI) - это набор библиотек и интерфейс прикладного программирования (API), который поддерживает некоторые функции, общие для компиляторов и связанных инструментов программирования. CCI используется в основном приложениями, которые создают, изменяют или анализируют переносимые исполняемые файлы (PE) и отладочные (PDB) .NET.

akjoshi
источник
8

Исходный код .NET теперь доступен.

Смотрите эту ссылку или это

Или, если вы ищете декомпилятор, я использовал DisSharper . Это было достаточно хорошо для меня.

Hun1Ahpu
источник
Круто. Кто-нибудь нашел актуальную ссылку на скачивание?
Джонатан Вуд
6
Это для ограниченных областей Рамочной. Определенно не замена для декомпилятора
CamronBute
6

Последняя версия от Red Gate - 6.1. Однако версия 5.1 не может автоматически обновляться до версии 6, поскольку произошли изменения в Условиях обслуживания, поэтому вместо этого вы будете перенаправлены на сайт для загрузки версии 6.1. Это в основном из-за юридических причин, как вы можете проверить в следующем посте:

Oi! Что происходит с механизмом обновления .NET Reflector?

После обновления вручную до 6.1 у вас больше не будет проблем.

Жоао Анжело
источник
6
Если единственным решением является обновление, то я ищу другой продукт. Нога внизу :)
Джош Стодола
5
Некоторые люди довольны версией X, почему все обновления влияют на них? Похоже, в последнее время эта проблема часто встречается в программном обеспечении.
Эрик Шнайдер
4
@drachenstern: как оказалось, продукт больше не будет бесплатным, что можно было ожидать, когда Red Gate захватили Reflector. Проблема в том, что продукты Red Gate стоят дорого, и у них нет схемы ценообразования для отдельных разработчиков. Теперь RG говорит, что Reflector будет стоить 35 $, но я думаю, что это только начало, и в итоге оно будет стоить намного дороже. Печально то, что это уменьшит проникновение на рынок Reflector, который на протяжении многих лет был своего рода стандартным инструментом для разработчиков .NET. Надеюсь, кто-то будет работать над альтернативой OSS.
Петр Овсяк
4
@ Drachenstern, проблема не в цене. Это факт, что они вернулись к своему слову, чтобы сохранить продукт бесплатно. О чем еще они будут врать? Говорят, что 35 долларов - это «вечная лицензия», но как долго? Пока они не пропустят свои квартальные результаты снова и решат изменить их?
Райан Ланди
2
@drachenstern: я знал, что твой комментарий был несколько месяцев назад, и я хотел бы отметить, что то, что происходило тогда, отчасти соответствует всей ситуации сейчас. Я не говорю, что RedGate - это зло, хотя в данном конкретном случае следует отметить, что они сказали, что оставят Reflector свободным. Я пытался сказать, что 35 $ и даже 70 $ не соответствуют схеме ценообразования с остальными их инструментами, и я очень волнуюсь, что Reflector со временем станет довольно дорогим. Даже если бы я мог купить его, я больше не смогу сказать своим коллегам-разработчикам: «Эй, просто возьми Reflector!»
Петр Овсяк
4

Вместо использования автоматического обновления, мы просто устанавливаем свойства файла EXE только для чтения. Таким образом, он не удаляет файл.

Муки
источник
2

Я не уверен, что вы действительно хотите здесь. Если вы хотите увидеть исходный код .NET Framework, вы можете попробовать Netmassdownloader . Это бесплатно.

Если вы хотите увидеть код любой сборки (не только .NET), вы можете использовать ReSharper . Хотя это не бесплатно.

Гравитон
источник
2
Код? Скорее просто введите определения, верно?
Петр Овсяк
вам нужен большой кластер для запуска resharper, некоторые из нас любят кодировать на ноутбуке)
Иван Григорьевич
1

У 9Rays был декомпилятор, но я давно не проверял. Это было не бесплатно, я помню ...

Существует также новый (по крайней мере для меня) с именем Dis #.

Даниэль Долз
источник