Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20394|Svar: 0

[Nedmontering] c# Disassembly Tutorial.net Program Dekompileringsverktyg (ILSpy)

[Kopiera länk]
Publicerad på 2015-06-06 11:09:21 | | | |
Användning av ILSpy-dekompileringsverktyget. Dock kräver ILspy att .NET Framework 4.0 installeras på din dator. ILspy kan konvertera en DLL-fil till C# eller VB-språk. ILspy kan spara en enskild fil som en .cs fil eller .vb fil, och när det finns många filer kan du välja att spara den som en projektfil. C#-satser kan dekompileras av ILspy och kan stödja dekompilering av yield return-satser och lambdas-uttryck.

Jag brukade använda Reflector för att visa viss information om .NET-biblioteket, men sedan februari 2011 har Reflector börjat gå över till betalprogramvara, så utvecklare som älskar fri programvara har börjat utveckla sin egen dekompilerade programvara. Så ILspy föddes på grund av tur. ILSPY är ett öppen källkodsverktyg som ersätter reflektorer och dekompilerar kod liknande reflektorer.

SharpDevelop är en annan och enda . .NET open tool, och det är öppen källkod. Det erbjuder också ganska bra funktioner, nästan som att skriva om Visual Studio. I den senaste versionen har stöd för Visual Studios lösningssäkerhetsfiler och projektfiler lagts till direkt. ILSpy är ett dekompilatorverktyg från SharpDevelop-gruppen och är också öppen källkod, och dess felsökare och dekompilator beskrivs nedan.


Skärmdump av ILspys gränssnitt


ILSpys gränssnitt liknar Reflector, med trädkontroller som visar sammansättningen och dess typ till vänster och motsvarande källkod till höger. Den grundläggande dekompileringsfunktionen är inte dålig jämfört med Reflector, och ibland kan den till och med dekompileras med ILSpy för sammansättningar som inte kan dekompileras (på grund av kryptering) med Reflector.

ILspy kräver att .NET Framework 4.0 installeras på din dator.Det finns flera vanliga funktioner i ILspy

Den grundläggande typdekompileringsfunktionen finns tillgänglig

Nu stöds endast dekompilering av källkod till C# och IL-språk, inte VB.

Renderingarna är:

ILSpys kodsparande funktion

När man klickar på en typ, väljer man Fil-> Sparkod, dekompilerar den aktuella typen och sparar den till den angivna filen, och när man väljer en assembly sparas sparkod som en projektfil (csproj) och alla dess typer läggs till i projektet.


ILSpys felsökningsfunktion

Debuggern här syftar inte på Visual Studiokällanivån på debugger, men syftar på debuggern i assemblyn. Reflector har ett tillägg som kan kopplas direkt till Visual Studio för att felsöka tredjepartstypbibliotek utan att behöva dekompilera tredjepartstypbiblioteken och lägga till dem i projektet i form av källkod.

ILSpy har också denna funktion, som låter dig felsöka tredjepartsassembler direkt, med två alternativ

Om tredjepartstypbiblioteket är en körbar fil kan du starta programmet med Debug en exekverbar fil.

Om tredjepartsbiblioteket är en assembler (DLL) kan du bifoga det med en Attach till en körande applikation för att börja felsöka assembleren.


Som du redan kan se på bilden ovan är dess användning densamma som för att felsöka källkod. Där du behöver övervaka variabelvärdet, sätt en brytpunkt, och när programmet körs till denna punkt kan du observera variabelns värde genom att övervaka formen.

Skillnaden mellan de två är att när Attach till en körande applikation felsöks, om koden optimeras av kompilatorn, kommer monitorn inte att få dess värde.

Som visas på bilden kan värdet på variabeln num som felsöks inte visas eftersom koden har optimerats. Den officiellt rekommenderade metoden är Debug an executable able able


Precis som med felsökning av .NET-källkod i Visual Studio kan du gå in i, gå över, fortsätta, och statusfältet visar standby, körande och felsökning.

Förutom att felsöka koden i C#/VB-form av assemblern kan den också felsökas i IL-kod, som visas i figuren nedan

ILSpys felsökning finns som ett plugin, se till att inkludera ILSpy.Debugger-pluginet.


Men felsökning. .NET-assemblies måste kräva PDB-filer. Dock genererar inte ILSpy PDB-filer (inga PDB-filer genereras), och det kan inte felsöka ASP.NET webbapplikationer och webbtjänster.






Föregående:>> rekrytering <<
Nästa:Shenzhen Liantianxia Technology Co., Ltd
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com