Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 20394|Antwoord: 0

[Demontage] c# Disassembly Tutorial.net Program Decompilation Tool (ILSpy)

[Link kopiëren]
Geplaatst op 06-06-2015 11:09:21 | | | |
Gebruik van de ILSpy decompilatietool. ILspy vereist echter dat .NET Framework 4.0 op je computer wordt geïnstalleerd. ILspy kan een DLL-bestand converteren naar C# of VB-taal. ILspy kan één enkel bestand opslaan als een .cs of .vb bestand, en als er veel bestanden zijn, kun je ervoor kiezen het als projectbestand op te slaan. C#-statements kunnen door ILspy worden gedecompileerd en ondersteunen de decompilatie van yield return-statements en lambdas-expressies.

Vroeger gebruikte ik Reflector om wat informatie over de .NET-bibliotheek te bekijken, maar sinds februari 2011 is Reflector overgestapt op betaalde software, dus ontwikkelaars die van vrije software houden, zijn overgestapt op het ontwikkelen van hun eigen gedecompileerde software. Dus is ILspy geboren door geluk. ILSPY is een open-source tool die reflectors vervangt en code decompileert vergelijkbaar met reflectors.

SharpDevelop is een andere en enige . .NET open tool, en het is open source. Het biedt ook vrij goede functies, bijna als een herschrijving van Visual Studio. In de nieuwste versie is ondersteuning voor de beveiligingsbestanden en projectbestanden van Visual Studio direct toegevoegd. ILSpy is een decompilertool uit de SharpDevelop-groep en is ook open source, en de debugger en decompiler worden hieronder beschreven.


Screenshot van de interface van ILspy


De interface van ILSpy lijkt op die van Reflector, met boomcontroles die de assembly en het type daarvan aan de linkerkant tonen en de bijbehorende broncode aan de rechterkant. De basisdecompilatiefunctie is niet slecht vergeleken met Reflector, en soms kan deze zelfs met ILSpy worden gedecompileerd voor assemblies die niet (vanwege versleuteling) met Reflector kunnen worden gedecompileerd.

ILspy vereist dat .NET Framework 4.0 op je computer wordt geïnstalleerd.Er zijn verschillende veelgebruikte functies van ILspy

De basisfunctie voor typedecompilatie is beschikbaar

Nu wordt alleen het decompileren van broncode naar C#- en IL-talen ondersteund, niet VB.

De renderings zijn:

De code-opslaanfunctie van ILSpy

Bij het klikken op een type, selecteert File-> Save Code het huidige type en slaat het op in het opgegeven bestand, en bij het selecteren van een assembly wordt Save Code opgeslagen als een projectbestand (csproj) en worden alle types aan het project toegevoegd.


ILSpy's debuggerfunctie

De debugger hier verwijst niet naar Visual Studiobronniveau van debugger, maar verwijst naar de debugger van de assembly. Reflector heeft een addin die direct aan Visual Studio kan worden gekoppeld om databases van derden te debuggen zonder dat je deze van derden hoeft te decompileren en toe te voegen aan het project in de vorm van broncode.

ILSpy heeft ook deze functie, waarmee je direct assemblys van derden kunt debuggen, met twee opties

Als de typebibliotheek van derden een uitvoerbaar bestand is, kun je het programma starten met Debug an executable.

Als de bibliotheek van het type van derden een assembly (DLL) is, kun je deze met een Attach aan een draaiende applicatie koppelen om te beginnen met het debuggen van de assembly.


Zoals je al kunt zien op de afbeelding hierboven, is het gebruik hetzelfde als het debuggen van broncode. Waar je de variabelewaarde moet monitoren, een breekpunt moet instellen, en wanneer het programma dit punt bereikt, kun je de waarde van de variabele observeren door het formulier te monitoren.

Het verschil tussen de twee is dat wanneer Attach aan een draaiende applicatie wordt gedebugged, de monitor de waarde niet krijgt als de code door de compiler wordt geoptimaliseerd.

Zoals in de afbeelding te zien is, kan de waarde van de variabele num die wordt gedebugged niet worden weergegeven omdat de code is geoptimaliseerd. De officiële aanbevolen methode is Debug an executable


Net als bij het debuggen van .NET-broncode in Visual Studio kun je Stap in, Overgaan, Doorgaan en de statusbalk toont stand-by, running en debugging.

Naast het debuggen van de code in C#/VB-vorm van de assembly, kan deze ook worden gedebuggd in IL-code, zoals te zien is in de onderstaande figuur

De debugger van ILSpy bestaat als plugin, zorg ervoor dat je de ILSpy.Debugger-plugin toevoegt.


Maar debugging. .NET-assemblies moeten PDB-bestanden vereisen. ILSpy genereert echter geen PDB-bestanden (er worden geen PDB-bestanden gegenereerd), en het kan geen ASP.NET webapplicaties en webservices debuggen.






Vorig:>> werving <<
Volgend:Shenzhen Liantianxia Technologie Onderneming, Ltd
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com