Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 20394|Svare: 0

[Demontering] c# Disassembly Tutorial.net Program Dekompileringsverktøy (ILSpy)

[Kopier lenke]
Publisert på 06.06.2015 11:09:21 | | | |
Bruk av ILSpy dekompileringsverktøyet. ILspy krever imidlertid at .NET Framework 4.0 installeres på datamaskinen din. ILspy kan konvertere en dll-fil til C# eller VB-språk. ILspy kan lagre en enkelt fil som en .cs fil eller .vb fil, og når det er mange filer, kan du velge å lagre den som en prosjektfil. C#-setninger kan dekompileres av ILspy, og kan støtte dekompilering av yield return-setninger og lambdas-uttrykk.

Jeg pleide å bruke Reflector for å se noe informasjon om .NET-biblioteket, men siden februar 2011 har Reflector gått over til betalt programvare, så utviklere som elsker fri programvare har begynt å lage sin egen dekompilerte programvare. Så ILspy ble født på grunn av flaks. ILSPY er et åpen kildekode-verktøy som erstatter reflektorer, og det dekompilerer kode som ligner på reflektorer.

SharpDevelop er en annen og eneste . .NET åpent verktøy, og det er åpen kildekode. Det tilbyr også ganske gode funksjoner, nesten som en omskriving av Visual Studio. I den nyeste versjonen er støtte for Visual Studios løsningssikkerhetsfiler og prosjektfiler lagt til direkte. ILSpy er et dekompilatorverktøy fra SharpDevelop-gruppen og er også åpen kildekode, og dets debugger og dekompilator er beskrevet nedenfor.


Skjermbilde av ILspys grensesnitt


ILSpys grensesnitt ligner på Reflector, med trekontroller som viser sammensetningen og typen til venstre, og tilsvarende kildekode til høyre. Den grunnleggende dekompileringsfunksjonen er ikke dårlig sammenlignet med Reflector, og noen ganger kan den til og med dekompileres med ILSpy for assemblies som ikke kan dekompileres (på grunn av kryptering) med Reflector.

ILspy krever at .NET Framework 4.0 installeres på datamaskinen din.Det finnes flere vanlige funksjoner i ILspy

Den grunnleggende funksjon for typedekompilering er tilgjengelig

Nå støttes kun dekompilering av kildekode til C# og IL-språk, ikke VB.

Gjengivelsene er:

ILSpys kodelagringsfunksjon

Når man klikker på en type, velger man File-> Save Code, dekompilerer den nåværende typen og lagrer den til den angitte filen, og når man velger en assembly, lagres Save Code som en prosjektfil (csproj) og alle typene legges til prosjektet.


ILSpys debugger-funksjon

Debuggeren her refererer ikke til Visual Studiokildenivået på debugger, men refererer til debuggeren til assembly. Reflector har et tillegg som kan kobles direkte til Visual Studio for å feilsøke tredjepartsbiblioteker uten å måtte dekompilere tredjepartsbibliotekene og legge dem til prosjektet i form av kildekode.

ILSpy har også denne funksjonen, som lar deg feilsøke tredjepartsmonteringer direkte, med to alternativer

Hvis tredjepartsbiblioteket er en kjørbar fil, kan du starte programmet med Debug en kjørbar fil.

Hvis tredjepartsbiblioteket er en assembly (DLL), kan du legge det ved med en Attach til kjørende applikasjon for å begynne feilsøking av assemblyen.


Som du allerede kan se på bildet over, er bruken den samme som ved feilsøking av kildekode. Der du må overvåke variabelverdien, sette et breakpoint, og når programmet kjører til dette punktet, kan du observere variabelens verdi ved å overvåke formen.

Forskjellen mellom de to er at når Attach til en kjørende applikasjon blir feilsøkt, vil ikke skjermen få verdien hvis koden optimaliseres av kompilatoren.

Som vist på bildet, kan ikke verdien til variabelen num som feilsøkes vises fordi koden er optimalisert. Den offisielle anbefalte metoden er Debug, en kjørbar fil


Som med feilsøking av .NET-kildekode i Visual Studio, kan du gå inn i, gå over, fortsette, og statuslinjen vil vise standby, kjøring og feilsøking.

I tillegg til å feilsøke koden i C#/VB-form av assemblyen, kan den også feilsøkes i IL-kode, som vist i figuren nedenfor

ILSpys debugger eksisterer som en plugin, sørg for å inkludere ILSpy.Debugger-pluginen.


Men feilsøking. .NET-assemblies må kreve PDB-filer. ILSpy genererer imidlertid ikke PDB-filer (ingen PDB-filer genereres), og det kan ikke feilsøke ASP.NET webapplikasjoner og webtjenester.






Foregående:>> rekruttering <<
Neste:Shenzhen Liantianxia Technology Co., Ltd
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com