Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20394|Odpowiedź: 0

[Rozkładanie] C# Disassembly Tutorial.net Program Decompilation Tool (ILSpy)

[Skopiuj link]
Opublikowano 06.06.2015 11:09:21 | | | |
Korzystanie z narzędzia do dekompilacji ILSpy. Jednak ILspy wymaga zainstalowania .NET Framework 4.0 na twoim komputerze. ILspy może przekonwertować plik dll do języka C# lub VB. ILspy może zapisać pojedynczy plik jako plik .cs lub .vb, a gdy plików jest dużo, możesz zdecydować się na zapisanie go jako pliku projektu. Instrukcje C# mogą być dekompilowane przez ILspy i mogą wspierać dekompilację instrukcji yield return oraz wyrażeń lambda.

Kiedyś korzystałem z Reflector, aby przeglądać informacje o bibliotece .NET, ale od lutego 2011 roku Reflector przechodzi na oprogramowanie płatne, więc deweloperzy miłośnicy wolnego oprogramowania zaczęli tworzyć własne dekompilowane oprogramowanie. Tak więc ILspy narodził się dzięki szczęściu. ILSPY to narzędzie open-source, które zastępuje reflektory i dekompiluje kod podobny do reflektorów.

SharpDevelop to kolejny i jedyny . .NET open tool, a jest open source. Oferuje też całkiem dobre funkcje, niemal przepisując Visual Studio. W najnowszej wersji dodano bezpośrednio wsparcie dla plików bezpieczeństwa rozwiązań Visual Studio oraz projektów Studio. ILSpy to narzędzie dekompilacyjne należące do grupy SharpDevelop, również otwartoźródłowe, a jego debugger i dekompilator opisane są poniżej.


Zrzut ekranu interfejsu ILspy


Interfejs ILSpy jest podobny do Reflectora, z drzewem kontrolującym po lewej stronie pokazującym asembl i jego typ oraz odpowiadający mu kod źródłowy po prawej. Podstawowa funkcja dekompilacji nie jest zła w porównaniu do Reflector, a czasem można ją nawet zdekompilować za pomocą ILSpy dla asembli, których nie da się zdekompilować (ze względu na szyfrowanie) za pomocą Reflector.

ILspy wymaga zainstalowania .NET Framework 4.0 na twoim komputerze.Istnieje kilka powszechnie używanych funkcji ILspy

Dostępna jest podstawowa funkcja dekompilacji typów

Teraz obsługiwane jest tylko dekompilowanie kodu źródłowego do języków C# i IL, nie VB.

Wizualizacje to:

Funkcja zapisu kodu w ILSpy

Po kliknięciu na typ, wybranie File-> Save Code dekompiluje aktualny typ i zapisuje go do określonego pliku, a przy wyborze asemblera, Save Code jest zapisywany jako plik projektu (csproj) i wszystkie jego typy są dodawane do projektu.


Funkcja debuggera ILSpy

Debugger tutaj nie odnosi się do Visual Studioźródłopoziom debuggera, ale odnosi się do debugera asemblera. Reflector posiada dodatek, który można bezpośrednio dołączyć do Visual Studio do debugowania bibliotek typów firm trzecich bez konieczności dekompilacji bibliotek typów firm trzecich i dodawania ich do projektu w formie kodu źródłowego.

ILSpy ma również tę funkcję, która pozwala bezpośrednio debugować zespoły firm trzecich, z dwoma opcjami

Jeśli biblioteka typu firm trzecich jest plikiem wykonywalnym, możesz uruchomić program za pomocą pliku Debug an executable.

Jeśli biblioteka typów firm trzecich jest asemblem (DLL), możesz ją dołączyć z aplikacją Attach do działającej aplikacji, aby rozpocząć debugowanie asemblera.


Jak już widać na powyższym obrazku, jego zastosowanie jest takie samo jak debugowanie kodu źródłowego. Gdzie musisz monitorować wartość zmiennej, ustawić punkt przerwania, a gdy program do niego dochodzi, możesz obserwować wartość zmiennej, monitorując formularz.

Różnica między nimi polega na tym, że gdy Attach to the operating application jest debugowany, jeśli kod jest optymalizowany przez kompilator, monitor nie otrzyma jego wartości.

Jak pokazano na obrazku, wartość zmiennej num poddawanej debugowaniu nie może być wyświetlana, ponieważ kod został zoptymalizowany. Oficjalnie zalecaną metodą jest Debug pliku wykonywalnego


Podobnie jak przy debugowaniu kodu źródłowego .NET w Visual Studio, możesz wejść do debugacji, przejść dalej, kontynuować, a pasek statusu pokaże tryb czuwania, działania i debugowania.

Oprócz debugowania kodu w formie C#/VB asemblera, można go także debugować w kodzie IL, jak pokazano na poniższym rysunku

Debugger ILSpy istnieje jako wtyczka, upewnij się, że zawiera wtyczkę ILSpy.Debugger.


Ale debugowanie. Asemblery .NET muszą wymagać plików PDB. Jednak ILSpy nie generuje plików PDB (nie są generowane żadne pliki PDB) i nie może debugować ASP.NET aplikacji webowych i usług webowych.






Poprzedni:>> rekrutacji <<
Następny:Shenzhen Liantianxia Technology Co., Ltd
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com