|
ILSpy dekompileerimistööriista kasutamine. Kuid ILspy nõuab .NET Framework 4.0 paigaldamist sinu arvutisse. ILspy suudab teisendada dll-faili C# või VB keelde. ILspy saab salvestada ühe faili .cs või .vb failina ning kui faile on palju, saad selle salvestada projektifailina. C# lauseid saab ILspy abil dekompileerida ning need toetavad yield return lausete ja lambdas-avaldiste dekompileerimist. Varem kasutasin Reflectorit, et vaadata infot .NET teegi kohta, kuid alates 2011. aasta veebruarist on Reflector liikunud tasulisele tarkvarale, mistõttu arendajad, kes armastavad vaba tarkvara, on hakanud arendama oma dekompileeritud tarkvara. Nii sündis ILspy õnne tõttu. ILSPY on avatud lähtekoodiga tööriist, mis asendab reflektoreid ja dekompileerib koodi, mis sarnaneb peegeldajatele. SharpDevelop on veel üks ja ainus . .NET avatud tööriist ja see on avatud lähtekoodiga. See pakub ka päris häid funktsioone, peaaegu nagu Visual Studio ümberkirjutamine. Viimases versioonis on otse lisatud tugi Visual Studio lahenduste turvafailidele ja projektifailidele. ILSpy on SharpDevelop grupi dekompilaatoritööriist, mis on samuti avatud lähtekoodiga ning selle silur ja dekompileerija on kirjeldatud allpool.
Ekraanipilt ILspy liidesest
ILSpy liides on sarnane Reflectorile, kus puu juhtnupud näitavad vasakul assembleri ja selle tüübi ning paremal vastavat lähtekoodi. Põhiline dekompileerimisfunktsioon pole halb võrreldes Reflectoriga ning mõnikord saab seda isegi ILSpy-ga dekompileerida assambleede jaoks, mida Reflectoriga ei saa dekompileerida (krüpteerimise tõttu).
ILspy nõuab .NET Framework 4.0 paigaldamist sinu arvutisse.ILspy-l on mitmeid sageli kasutatavaid funktsioonePõhiline tüübi dekompileerimisfunktsioon on saadaval Nüüd on toetatud ainult lähtekoodi dekompileerimist C# ja IL keeltesse, mitte VB-d. Renderdused on järgmised:
ILSpy koodi salvestamise funktsioon Kui klõpsata tüübil, valides File-> Save Code, dekompileeritakse praeguse tüübi ja salvestatakse määratud faili, ning assembleri valimisel salvestatakse Save Code projektifailina (csproj) ja kõik selle tüübid lisatakse projekti.
ILSpy silurifunktsioon Silur siin ei viita Visual Studioleallikassiluri tase, kuid viitab assamblee silurile. Reflectoril on lisandmoodul, mida saab otse Visual Studio külge ühendada, et siluda kolmanda osapoole tüüpi raamatukogusid ilma, et peaks kolmanda osapoole tüüpi raamatukogusid dekompileerima ja neid projekti lähtekoodina lisama. ILSpy-l on samuti see funktsioon, mis võimaldab siluda kolmandate osapoolte assemblereid otse, kahe valikuga Kui kolmanda osapoole tüüpi teek on käivitatav fail, saad programmi käivitada Debug ja käivitatav fail. Kui kolmanda osapoole tüüpi teek on assembler (DLL), saad selle lisada Attach abil töötavale rakendusele, et alustada assamblee silumist.
Nagu ülalolevalt pildilt juba näha, on selle kasutus sama mis lähtekoodi silumine. Kus tuleb jälgida muutuja väärtust, määrata katkestuspunkt ja kui programm selle punktini jookseb, saab muutuja väärtust jälgida vormi jälgides. Erinevus nende kahe vahel seisneb selles, et kui Attach töötavale rakendusele silutakse, siis kui kompilaator optimeerib koodi, ei saa monitor selle väärtust.
Nagu pildil näidatud, ei saa silumise muutuja numbri väärtust kuvada, kuna kood on optimeeritud. Ametlik soovitatav meetod on siluda käivitatav fail Nagu .NET lähtekoodi silumisel Visual Studios, saad astuda sisse, astuda üle, jätkata ja olekuribal kuvatakse ooterežiim, jooksmine ja silumine.
Lisaks koodi silumisele C#/VB kujul saab seda siluda ka IL-koodis, nagu alloleval joonisel näidatud
ILSpy silur eksisteerib pluginana, kindlasti lisa ILSpy.Debugger plugin.
Aga silumine. .NET assemblerid peavad nõudma PDB faile. Kuid ILSpy ei genereeri PDB-faile (PDB-faile ei genereerita) ning ta ei saa siluda ASP.NET veebirakendusi ja veebiteenuseid.
|