Что-то лучше, чем .NET Reflector?

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


Обновлять:

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


person Josh Stodola    schedule 15.04.2010    source источник
comment
У меня не было плохого опыта с Reflector, но это может быть связано с тем, что у нас есть .NET Developer Bundle. Возможно, вам стоит написать RedGate и спросить, есть ли какая-то конфигурация, которую вы можете настроить, чтобы Reflector не проверял наличие обновлений. Я знаю, что это не ответ на ваш вопрос, но вы не указали никаких претензий к его основным функциям. Почему бы просто не обратиться к назойливым обновлениям и, возможно, сообщить RedGate, насколько эти обновления вас раздражают?   -  person flipdoubt    schedule 15.04.2010
comment
Основная проблема: каждый раз, когда мне нужно использовать его, чтобы выйти из затора, он должен обновляться!   -  person Josh Stodola    schedule 16.04.2010
comment
@ João Я даже не могу открыть приложение из-за необходимых обновлений, но свойства исполняемого файла указывают на версию 5.1.6.0   -  person Josh Stodola    schedule 16.04.2010
comment
+1, Reflector сделал все, что мне было нужно 3 года назад. На сегодняшний день это единственная программа, которую я когда-либо использовал, которая отключается, если я не позволяю ей обновляться, когда она этого хочет. Redgate взяли отличное программное обеспечение и испортили его. Это вполне может быть бесплатным, но благодаря такому отвратительному отношению Redgate заверили, что я больше не буду покупать или рекомендовать какое-либо из их программного обеспечения.   -  person Ash    schedule 24.04.2010
comment
Да, мы также собирались купить у них пару сотен лицензий, но теперь я порекомендую компании использовать slimtune. Лучше и БЕСПЛАТНО. Red Gate - очень бессовестная компания, которая преследует нас по электронной почте, чтобы заставить нас покупать их программное обеспечение. Не сообщайте свой адрес электронной почты, когда загружаете их программное обеспечение.   -  person Joan Venge    schedule 28.04.2010
comment
@Joan Venge: SlimTune может подойти, но если вы ищете коммерческий профилировщик, обязательно проверьте пакет dotTrace JetBrain. Я видел много рекомендаций (даже по SO) по поводу RedGate. Также у меня есть пара продуктов JetBrain, и я должен сказать, что они делают довольно хорошие вещи.   -  person Piotr Owsiak    schedule 02.02.2011
comment
@thecoop: Спасибо за разъяснения. Я удалил этот комментарий.   -  person Greg    schedule 02.02.2011
comment
Автоматическая бомба замедленного действия была там еще до того, как ее купили красные ворота - channel9. msdn.com/forums/Coffeehouse/   -  person thecoop    schedule 03.02.2011
comment
@Josh lol, да, эти новости - отстой. Ваш вопрос, безусловно, сейчас более актуален. Я все еще использую текущую версию; Если нет другого выбора, кроме как купить, я уверен, что мы увидим несколько альтернативных проектов.   -  person    schedule 03.02.2011
comment
Похоже, эта тема только что обрела новую жизнь, теперь, когда RedGate просит минимум 35 долларов за то, что раньше было бесплатной версией Reflector. Печальный день ... действительно печальный день. Надеюсь, сообщество .NET сможет найти достойного конкурента FOSS и позволить нам избежать (что не так уж удивительно) закулисного предательства RedGate.   -  person jrista    schedule 03.02.2011
comment
+1 - Red Gate обещали не разрушать, но похоже, что сделали. Я не использую его так часто, и поэтому мне приходится каждый раз обновлять его. Но он мне этого не говорит - он просто спрашивает, должно ли оно обновляться автоматически. Когда я говорю «Нет», кажется, что ничего не происходит. Когда я говорю «Да», он что-то загружает и распаковывает, а затем выдает ошибку: Reflector.exe недоступен, потому что он уже используется!   -  person Jonathan Wood    schedule 05.02.2011
comment
Честно говоря, мы не можем сказать, что Red Gate не работал над программным обеспечением. Я использую платную версию, и я заметил, что они проделали большую работу, чтобы сделать ее намного медленнее, чем раньше.   -  person Ryan Lundy    schedule 01.06.2011
comment
Чтобы присоединиться к этому старому потоку, недавнее обновление (.NET Reflector 9.0) значительно улучшило производительность и удобство использования. Я не говорю, что проблем нет (у меня регулярные сбои, но то же самое можно сказать и о других инструментах), но неприятные проблемы с обновлением исчезли (вы можете просто продолжать его использовать, и это не потребует от вас обновить или отключить сам). Я использовал платную и бесплатную версии (ILSpy) рядом друг с другом, поскольку они декомпилируются с немного разными алгоритмами, показанный код C # часто отличается, и это помогает мне оставаться в курсе и не слишком полагаться на него.   -  person Abel    schedule 28.10.2016
comment
Просто обратите внимание, я так долго работаю с JetBrains dotPeek и пробую Telerik JustDecompile, и было удивительно, что JustDecompile обеспечивает лучшее качество декомпиляции, поэтому я предпочитаю его   -  person igor_bugaenko    schedule 21.02.2018
comment
Вы можете использовать инструмент dnspy. Также зашифрованные модули восстанавливаются из оперативной памяти. Проект GitHub: github.com/0xd4d/dnSpy/blob/master/README. мкр   -  person Adrian Stanculescu    schedule 31.01.2020


Ответы (9)


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

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

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

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

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

person Druid    schedule 23.03.2011
comment
Просто попробовал. Работал как шарм. Загрузите двоичные файлы на странице build.sharpdevelop.net/BuildArtefacts/#ILSpy - person StriplingWarrior; 05.04.2011
comment
ILSpy FTW. Делает все, что мне когда-либо требовалось от Reflector, и делает это без бомбежки времени или автоматического обновления до новой версии, которая работает хуже, чем предыдущая. - person Ian Kemp; 03.05.2011
comment
ILSpy определенно находится на одном уровне с Reflector. dotPeek загружается дольше, а размер загружаемого файла немного велик. И он использует пробелы для отступов вместо табуляции (и нет опции конфигурации, которую можно изменить)! : D +1 - person James Skemp; 31.05.2011
comment
Золото достается ILSpy, серебро - dotPeek, а бронза - JustDecompile. - person oddy; 26.08.2011
comment
Стоит отметить, что ILSpy можно установить отдельно от SharpDevelop, если щелкнуть раздел «Файлы» на SourceForge; некоторые ссылки, которые вы найдете, предполагают, что вам нужно иметь все SharpDevelop для декомпиляции в C # - для этого вам нужно только установить ILSpy. - person Chris Moschini; 28.12.2012
comment
Еще одно да для ILSpy. Красиво, быстро, бесплатно. - person Richard Griffiths; 04.01.2013
comment
RedGate разочаровал меня довольно значительным повышением цен и отсутствием возможности PayPal. Когда я впервые посмотрел, это была 20 фунтов стерлингов за базовую версию. Теперь это 65 фунтов стерлингов, что более чем вдвое за интеграцию с VS. - person Richard Griffiths; 04.01.2013
comment
Просто отметим, что по состоянию на январь 2015 года ни один из них не обеспечивает лучшую декомпиляцию VB.NET, чем последний бесплатный Reflector (0.6). Все они в той или иной степени терпят неудачу, но недостатки Reflector по-прежнему наименьшие. - person Mark Hurd; 24.01.2015
comment
Я только что заметил, что имел в виду Reflector 0.6, когда имел в виду Reflector 6.8.2.5 (это версия сборки 5.0.0.0). Я уверен, что где-то упоминал эту неправильную версию, но поиск Google и SO их не находит. - person Mark Hurd; 26.01.2015
comment
DotPeek - это чудо .. Большое спасибо .. - person Abdul Saleem; 24.05.2015
comment
Удачи в поиске декомпилированного кода с помощью ILSpy - person Hugh Jeffner; 07.11.2016
comment
А какой сейчас статус у ILSpy? - person Peter Mortensen; 22.10.2019

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

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

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

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

person gor    schedule 18.02.2011
comment
Я только что испытал ReSharper 6 EAP (выпущенный 1 марта 2011 г.). Декомпиляция есть, отлично работает и ОЧЕНЬ удобна, так как она интегрирована прямо в VS2010. Похоже, скоро появится отдельная БЕСПЛАТНАЯ версия, но для тех из вас, кто уже использует ReSharper, v6 определенно добавляет декомпиляцию, которая отлично работает! - person jrista; 03.03.2011
comment
Обновление: бесплатный автономный декомпилятор от JetBrains под названием dotPeek был выпущен для раннего доступа. - person Jura Gorohovsky; 20.05.2011

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

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

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

person adrianbanks    schedule 27.04.2011
comment
+1 Для JustDecompile выглядит очень многообещающе! - person Josh Stodola; 29.04.2011
comment
JustDecompile великолепен. Я пробовал много других, это здорово! - person Shimmy Weitzhandler; 12.05.2013

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

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

  • Kaliro: это инструмент для изучения содержимого приложений, созданных с использованием платформы 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.

person akjoshi    schedule 07.06.2012

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

См. это ссылка или это

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

person Hun1Ahpu    schedule 15.04.2010
comment
Прохладный. Кто-нибудь нашел актуальную ссылку на скачивание? - person Jonathan Wood; 05.02.2011
comment
Это для ограниченных областей Framework. Однозначно не замена декомпилятору - person CamronBute; 23.02.2011

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

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

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

person João Angelo    schedule 16.04.2010
comment
Если единственное решение - обновить, то я ищу другой продукт. Нога опущена :) - person Josh Stodola; 29.04.2010
comment
Вау, это довольно резко, Джош. Это бесплатный продукт, он меня не раз пилит и чертовски хорошо справляется. В чем проблема? Просто дайте им адрес + @ gmail и получите программу. - person jcolebrand; 07.05.2010
comment
@drachenstern Не было бы такой проблемы, если бы он всегда вел себя так. Что вы чувствуете, когда отличное программное обеспечение, которым вы пользовались годами, внезапно развивает надоедливые привычки? Либо вы достаточно принимающий человек, либо просто не понимаете важность времени в решающих обстоятельствах. Мне понадобился Reflector для работы однажды, а вместо этого я получил обновления с ошибками и потерял пять минут. Эти пять минут в буквальном смысле дорого стоят. Менять такой хорошо продуманный продукт, у которого уже есть довольная база пользователей, ужасно, и они должны знать лучше. Я не одинок! - person Josh Stodola; 07.05.2010
comment
Или ... Я запускаю продукт достаточно регулярно, чтобы обновление однажды не сбило меня с толку, вместо того, чтобы оставлять его на долгие годы в мусорной корзине. Вот как вы описываете то, что произошло. У меня также есть привычка запускать новейшие инструменты, поскольку я ненавижу закрадываться ошибки, когда другие разработчики тратят время на то, чтобы избавиться от надоедливых ошибок. Например, 5.0 R #, который собирается перейти на 5.1EAP, который я скачаю через несколько дней. Извините, что у вас был плохой опыт работы со старым продуктом, но я сомневаюсь, что это полезный повод наброситься на компанию, выпускающую бесплатный обновленный продукт. - person jcolebrand; 08.05.2010
comment
Некоторые люди довольны версией X, почему все обновления должны влиять на них? В последнее время это, похоже, обычная проблема с программным обеспечением. - person Eric Schneider; 11.05.2010
comment
@drachenstern: как оказалось, продукт больше не будет бесплатным, чего можно было ожидать, когда Red Gate захватит Reflector. Проблема в том, что продукты Red Gate дорогие и не имеют схемы ценообразования для индивидуальных разработчиков. Теперь RG говорит, что Reflector будет стоить 35 долларов, но я думаю, что это только начало, и в конечном итоге он будет стоить намного дороже. Печально то, что это снизит проникновение на рынок Reflector, который на протяжении многих лет был своего рода стандартным инструментом для разработчиков .NET. Надеюсь, кто-то будет работать над альтернативой OSS. - person Piotr Owsiak; 02.02.2011
comment
Через 7 месяцев я ожидал, что мой комментарий там, @PiotrOwsiak, устареет, но я рад, что вы игнорируете временные метки;) Я не думаю, что 35 долларов - это слишком много, чтобы заплатить за такой продукт, как Reflector, и сомневаюсь, что они поднимут его слишком много от этого. Я лично ожидал, что он вырастет, хотя, согласен с вами, и представлю, что через 12 месяцев он достигнет 70 долларов. Около - person jcolebrand; 02.02.2011
comment
@drachenstern, проблема не в цене. Дело в том, что они вернули свое слово и оставили продукт бесплатным. О чем еще они собираются лгать? Говорят, 35 долларов - это бессрочная лицензия ... но на какой срок? Пока они снова не упустят свои квартальные результаты и не решат их изменить? - person Ryan Lundy; 03.02.2011
comment
@drachenstern: Проблема в том, что последние полчаса я пытался запустить его, но не могу! Раньше это работало отлично. И в упомянутом выше блоге рассказывается о том, как это работает, чтобы гарантировать выгоду от обновлений. ВСЕ пользователи - просто чушь. Для Red Gate это способ получить больший контроль над тем, как использовать программу, и включить всех в свой список рассылки. Нет никакой пользы от того, через что я сейчас прохожу. @Joao: Приятно, что вы даже не добавили ссылку, по которой мы можем получить эту чертову штуку. Бессмысленный пост! - person Jonathan Wood; 05.02.2011
comment
@JonathanWood Мне очень жаль, что у вас возникла такая проблема. Могу я предложить SuperUser.com? - person jcolebrand; 05.02.2011
comment
@drachenstern: Спасибо, но я поискал и нашел .NET Reflector в Интернете. Я просто скопировал его в другую папку, отличную от той, которая содержит старую версию, которая, по-видимому, работает, хотя я не вижу ее в диспетчере задач. Red Gate было совершенно ясно, что они сохранят это программное обеспечение бесплатно. Нет оправдания тому, что они делают. - person Jonathan Wood; 05.02.2011
comment
@JonathanWood Я не могу сказать, что полностью не согласен ни с одной из этих точек зрения. У каждого есть свои достоинства. Я также знаю, что у меня не обновленная версия, так что я нахожусь в том же месте, что и вы. - person jcolebrand; 05.02.2011
comment
@Jonathan Wood, сообщение пытается прояснить, почему OP столкнулся с проблемами, описанными в его вопросе. Ни больше ни меньше! Вопрос о том, где взять ссылку для загрузки рефлектора, никогда не стоял, хотя я считаю, что у Google есть на это ответ. - person João Angelo; 05.02.2011
comment
@drachenstern: Я знал, что ваш комментарий был несколько месяцев назад, я хотел указать, что то, что происходило тогда, как бы соответствует всей ситуации сейчас. Я не говорю, что RedGate - зло, хотя в данном конкретном случае следует отметить, что они сказали, что сохранят Reflector свободным. Я попытался сказать, что 35 и даже 70 долларов не подходят для схемы ценообразования с остальными их инструментами, и я действительно беспокоюсь, что Reflector со временем станет довольно дорогим. Даже при том, что я мог бы купить его, я больше не смогу сказать своим коллегам-разработчикам: Эй, просто возьмите Reflector! - person Piotr Owsiak; 09.02.2011
comment
Любой орган знает, есть ли вероятность, что отражатель 6 может работать на машине, на которой установлен .net 4.5. - person Kamran Shahid; 16.09.2014
comment
Теперь цена приложения рефлектора Red-Gate составляет 95 долларов. - person TheLegendaryCopyCoder; 23.12.2015

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

person mookie    schedule 15.10.2010

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

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

person Graviton    schedule 15.04.2010
comment
Код? Скорее просто определения типа, не так ли? - person Piotr Owsiak; 02.02.2011
comment
вам нужен большой кластер для запуска resharper, некоторые из нас любят писать код на ноутбуке) - person Ivan G.; 24.05.2016

Раньше у 9Rays был декомпилятор, но я давно не проверял. Помню, это было не бесплатно ...

Еще есть новый (по крайней мере, для меня) под названием Dis #.

person Daniel Dolz    schedule 15.04.2010