Coś lepszego niż .NET Reflector? [Zamknięte]

365

Kiedyś kochałem .NET Reflector, ale odkąd przejęło go Red Gate Software, dramatycznie spadło. Teraz zmusza mnie do aktualizacji (co jest absolutnie absurdalne), połowa czasu aktualizacji nie idzie płynnie i coraz bardziej ogranicza moją wydajność z każdą aktualizacją. Mam tego dość i jestem gotowy na coś lepszego. Czy jest lepszy deasembler?


Aktualizacja:

Lista różnych alternatyw wymienionych w odpowiedziach -

Josh Stodola
źródło
5
Główny problem: za każdym razem, gdy muszę go użyć, aby wyjść z zacięcia, musi się aktualizować!
Josh Stodola
152
+1, Odbłyśnik zrobił wszystko, czego potrzebowałem 3 lata temu. Do tej pory jest to jedyny program, z którego kiedykolwiek korzystałem, który sam się wyłącza, jeśli nie pozwolę na aktualizację, kiedy chce. Redgate wziął świetny program i zrujnował go. Może i jest darmowy, ale dzięki temu wstrętnemu podejściu Redgate zapewnił, że nie będę już kupować ani polecać żadnego z ich programów.
Ash
15
Wygląda na to, że ten temat zyskał nowe życie, teraz, gdy RedGate prosi o minimum 35 USD za to, co kiedyś była darmową wersją Reflectora. Smutny dzień ... naprawdę smutny dzień. Mamy nadzieję, że społeczność .NET może wymyślić wysokiej jakości konkurenta FOSS i pozwolić nam uciec od (niezbyt zaskakującej) zdrady RedGate.
jrista
6
+1 - Czerwona Brama obiecała, że ​​jej nie zniszczy, ale wygląda na to, że tak. Nie uruchamiam go zbyt często i dlatego muszę go aktualizować za każdym razem. Ale to mi nie mówi - po prostu pyta, czy powinien aktualizować się automatycznie. Kiedy mówię „nie”, wydaje się, że nic nie robi. Kiedy mówię „Tak”, pobiera i dekompresuje coś, a następnie wyświetla błąd. Nie można uzyskać dostępu do Reflector.exe, ponieważ jest w użyciu!
Jonathan Wood
71
Szczerze mówiąc, nie możemy powiedzieć, że Red Gate nie wykonała pracy nad oprogramowaniem. Korzystam z wersji płatnej i zauważam, że zrobili dużo pracy, aby uczynić ją znacznie wolniejszą niż kiedyś.
Ryan Lundy

Odpowiedzi:

169

Zobacz także ILSpy firmy SharpDevelop . Jest na wczesnym etapie rozwoju i właśnie wydali 24 lutego. To samo w sobie działa całkiem dobrze. Z ich strony internetowej:

ILSpy to przeglądarka i dekompilator zestawu .NET typu open source.

Rozwój rozpoczął się po tym, jak Red Gate ogłosił, że darmowa wersja .NET Reflector przestanie istnieć do końca lutego 2011 r.

Aktualizacja : JetBrains wydało darmowy dekompilator .NET dotPeek .

Aktualizacja 2 : Telerik ma również bezpłatny dekompilator: JustDecompile .

druid
źródło
2
Właśnie to wypróbowałem. Działa jak urok. Pobierz pliki binarne na build.sharpdevelop.net/BuildArtefacts/#ILSpy
StriplingWarrior
3
ILSpy FTW. Robi wszystko, czego kiedykolwiek potrzebowałem do pracy w Reflector i robi to bez czasowego rombowania lub automatycznej aktualizacji do nowej wersji, która działa gorzej niż poprzednia wersja.
Ian Kemp
2
ILSpy jest zdecydowanie na równi z Reflector. DotPeek ładuje się dłużej, a rozmiar pobierania jest nieco wysoki. I używa spacji do wcięcia zamiast tabulatorów (i nie ma opcji konfiguracji do zmiany)! : D +1
James Skemp
1
Złoto trafia do ILSpy, srebro do dotPeek, a brąz do JustDecompile.
oddy
2
RedGate rozczarował mnie dość dużymi podwyżkami cen i brakiem opcji paypal. Kiedy po raz pierwszy spojrzałem, kosztował 20 funtów za wersję podstawową. Teraz kosztuje 65 £ i ponad dwukrotnie więcej w przypadku integracji VS.
Richard Griffiths,
62

JetBrains doda dekompilator do swojego ReSharpera i wyda również samodzielny dekompilator.

Dobrą wiadomością jest to, że przygotowujemy samodzielną aplikację binarną jako źródło, tj. Dekompilator + przeglądarkę asemblera do eksploracji dowolnego kodu skompilowanego w .NET, który jest legalny do eksploracji. Nie mamy konkretnej daty wydania, ale zostanie wydana w tym roku i będzie bezpłatna. Mówiąc „wolny”, właściwie mamy na myśli „wolny”.

Oto więcej informacji.

AKTUALIZACJA: JetBrains wydało teraz produkt o nazwie dotPeek i można go znaleźć tutaj .

gor
źródło
2
Właśnie dałem wir ReSharper 6 EAP (wydany 1 marca 2011 r.). Dekompilacja już tam jest, działa świetnie i jest BARDZO wygodna, ponieważ jest zintegrowana bezpośrednio z VS2010. Wygląda na to, że nadchodzi samodzielna DARMOWA wersja, ale dla tych z was, którzy już korzystają z ReSharpera, v6 zdecydowanie dodaje świetną dekompilację!
jrista
2
Aktualizacja: darmowy samodzielny dekompilator JetBrains o nazwie dotPeek został wydany do wczesnego dostępu.
Jura Gorohovsky,
31

Moim zdaniem istnieją trzy poważne alternatywy, z których wszystkie są bezpłatne :

  • ILSpy : Są to te same osoby, które tworzą (także bezpłatne) SharpDevelop IDE. Oprócz tego, że jest darmowy, jest także oprogramowaniem typu open source. Dodatkowym rozszerzeniem, nad którym pracują, jest możliwość debugowania zdekompilowanego kodu (coś, co może zrobić pro wersja Reflectora), co działa zaskakująco dobrze.
  • JustDecompile : samodzielny dekompilator firmy Telerik (ogłoszony dzisiaj, obecnie w wersji Beta).
  • dotPeek : samodzielny dekompilator JetBrains (obecnie dostępny jako samodzielny element w ramach EAP).

Wszystkie z nich podchodzą do problemu w nieco inny sposób z różnymi interfejsami użytkownika. Sugerowałbym wypróbowanie ich wszystkich i sprawdzenie, który wolisz.

adrianbanks
źródło
4
+1 Dla JustDecompile wygląda bardzo obiecująco!
Josh Stodola
1
JustDecompile jest świetny. Próbowałem wielu innych, to jest świetne!
Shimmy Weitzhandler,
13

Niektóre inne nie wymienione tutaj -

  • Mono Cecil : Za pomocą Cecil można ładować istniejące zarządzane zestawy, przeglądać wszystkie zawarte typy, modyfikować je w locie i zapisywać z powrotem na dysku zmodyfikowany zestaw.

  • Kaliro : Jest to narzędzie do eksploracji zawartości aplikacji zbudowanych przy użyciu frameworka Microsoft.Net.

  • Dotnet IL Editor (DILE) : Dotnet IL Editor (DILE) umożliwia demontaż i debugowanie aplikacji .NET 1.0 / 1.1 / 2.0 / 3.0 / 3.5 bez kodu źródłowego lub plików .pdb. Może debugować nawet siebie lub zestawy .NET Framework na poziomie IL.

  • Common Compiler Infrastructure : Microsoft Research Common Compiler Infrastructure (CCI) to zestaw bibliotek i interfejs programowania aplikacji (API), który obsługuje niektóre funkcje wspólne dla kompilatorów i powiązanych narzędzi programistycznych. CCI jest używany głównie przez aplikacje, które tworzą, modyfikują lub analizują przenośne pliki wykonywalne .NET (PE) i pliki debugowania (PDB).

akjoshi
źródło
8

Kod źródłowy .NET jest już dostępny.

Zobacz ten link lub to

Lub jeśli szukasz dekompilatora, użyłem DisSharper . To mi wystarczyło.

Hun1Ahpu
źródło
Fajne. Czy ktoś znalazł faktyczny link do pobrania?
Jonathan Wood
6
To dotyczy ograniczonych obszarów Ramy. Zdecydowanie nie zastępuje dekompilatora
CamronBute
6

Najnowsza wersja Red Gate to 6.1. Jednak wersja 5.1 nie może automatycznie zaktualizować się do wersji 6, ponieważ nastąpiły zmiany w Warunkach świadczenia usług, dlatego zamiast tego następuje przekierowanie do witryny w celu pobrania wersji 6.1. Wynika to głównie z przyczyn prawnych, ponieważ można sprawdzić w następującym poście:

O! Co się dzieje z mechanizmem aktualizacji .NET Reflector?

Po ręcznej aktualizacji do wersji 6.1 nie będzie już żadnych problemów.

João Angelo
źródło
6
Jeśli jedynym rozwiązaniem jest aktualizacja, szukam innego produktu. Stopa jest w dół :)
Josh Stodola
5
Niektóre osoby są zadowolone z wersji X, dlaczego wszystkie aktualizacje powinny na nie wpływać? Wydaje się, że jest to ostatnio powszechny problem z oprogramowaniem.
Eric Schneider,
4
@drachenstern: jak się okazuje, produkt nie będzie już darmowy, można się spodziewać, że kiedy Red Gate przejmie Reflector. Problem polega na tym, że produkty Red Gate są drogie i nie mają schematu cen dla indywidualnych programistów. Teraz RG mówi, że Odbłyśnik będzie kosztował 35 $, ale myślę, że to dopiero początek i ostatecznie będzie kosztować znacznie więcej. Smutne jest to, że zmniejszy to penetrację „rynku” dla Reflectora, który przez lata był rodzajem standardowego narzędzia dla programistów .NET. Mam nadzieję, że ktoś będzie pracował nad alternatywą OSS.
Piotr Owsiak
4
@drachenstern, to nie cena jest problemem. Faktem jest, że wrócili do słowa, aby produkt był wolny. O czym jeszcze będą kłamać? Mówią, że 35 USD to „wieczysta licencja”… ale na jak długo? Czy znów spóźnią się na wyniki kwartalne i postanowią je zmienić?
Ryan Lundy
2
@drachenstern: Wiedziałem, że twój komentarz był kilka miesięcy temu, chciałem zauważyć, że to, co się wtedy działo, w pewnym sensie pasuje do całej sytuacji. Nie twierdzę, że RedGate jest zły, chociaż w tym konkretnym przypadku należy zauważyć, że powiedzieli, że utrzymają Odbłyśnik wolny. Próbowałem powiedzieć, że 35 $, a nawet 70 $ nie pasuje do schematu cenowego z pozostałymi narzędziami i naprawdę się martwię, że Reflektor z czasem stanie się dość drogi. Mimo, że mógłbym go kupić, czy nie będę już mógł powiedzieć moim współwyznawcom: „Hej, po prostu weź Odbłyśnik!”
Piotr Owsiak
4

Zamiast korzystać z autoupdater, po prostu ustawiliśmy właściwości pliku EXE na „tylko do odczytu”. W ten sposób nie usuwa pliku.

Mookie
źródło
2

Nie jestem pewien, czego naprawdę tu chcesz. Jeśli chcesz zobaczyć kod źródłowy platformy .NET, możesz wypróbować Netmassdownloader . Jest wolne.

Jeśli chcesz zobaczyć kod dowolnego zestawu (nie tylko .NET), możesz użyć ReSharper . Chociaż to nie jest darmowe.

Grawiton
źródło
2
Kod? Raczej po prostu wpisz definicje, prawda?
Piotr Owsiak
potrzebujesz dużego klastra, aby uruchomić resharper, niektórzy z nas lubią kodować na laptopie)
Ivan G.
1

9Rays miał kiedyś dekompilator, ale od jakiegoś czasu się nie sprawdzałem. To nie było darmowe, pamiętam ...

Jest też nowy (przynajmniej dla mnie) o nazwie Dis #.

Daniel Dolz
źródło