Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 20394|Odgovoriti: 0

[Razstavljanje] C# Disassembly Tutorial.net Orodje za dekompilacijo programov (ILSpy)

[Kopiraj povezavo]
Objavljeno na 6. 06. 2015 11:09:21 | | | |
Uporaba orodja za dekompilacijo ILSpy. Vendar pa ILspy zahteva, da je .NET Framework 4.0 nameščen na vašem računalniku. ILspy lahko pretvori dll datoteko v jezik C# ali VB. ILspy lahko shrani eno datoteko kot .cs ali .vb datoteko, in ko je datotek več, jo lahko shraniš kot projektno datoteko. C# stavke je mogoče dekompilirati z ILspy in podpira dekompilacijo yield return stavkov ter lambdas izrazov.

Nekdaj sem uporabljal Reflector za ogled nekaterih informacij o .NET knjižnici, vendar se je od februarja 2011 Reflector preusmeril na plačljivo programsko opremo, zato so razvijalci, ki imajo radi prosto programsko opremo, razvili svojo lastno dekompilirano programsko opremo. Tako je ILspy nastal zaradi sreče. ILSPY je odprtokodno orodje, ki nadomešča reflektorje in dekompilira kodo, podobno kot reflektorji.

SharpDevelop je še en in edini . .NET odprto orodje in je odprtokodno. Ponuja tudi precej dobre funkcije, skoraj kot da bi prepisal Visual Studio. V najnovejši različici je bila neposredno dodana podpora za varnostne in projektne datoteke Visual Studia. ILSpy je orodje za deprevajalnik iz skupine SharpDevelop in je prav tako odprtokodno, njegov razhroščevalnik in dekompilator pa sta opisana spodaj.


Posnetek zaslona vmesnika ILspy


Vmesnik ILSpy je podoben Reflectorju, kjer drevesni kontrolniki prikazujejo sestavo in njeno vrsto na levi, na desni pa ustrezno izvorno kodo. Osnovna funkcija dekompilacije ni slaba v primerjavi s Reflectorjem, včasih pa jo je mogoče celo dekompilirati z ILSpy za sestave, ki jih ni mogoče dekompilirati (zaradi šifriranja) z Reflectorjem.

ILspy zahteva, da je na vašem računalniku nameščen .NET Framework 4.0.Obstaja več pogosto uporabljenih funkcij ILspy

Na voljo je osnovna funkcija za dekompilacijo tipov

Zdaj je podprta le dekompilacija izvorne kode v jezike C# in IL, ne VB.

Upodobitve so:

ILSpyjeva funkcija shranjevanja kode

Ko kliknete na tip, izberite File-> Save Code dekompilira trenutni tip in ga shrani v določeno datoteko, pri izbiri assembly pa se Save Code shrani kot projektna (csproj) datoteka in vsi njeni tipi se dodajo projektu.


Funkcija razhroščevalca v ILSpy

Razhroščevalnik tukaj ne uporablja Visual Studiaizvirravni razhroščevalca, vendar se nanaša na razhroščevalnik asemblerja. Reflector ima dodatek, ki ga je mogoče neposredno priključiti na Visual Studio za odpravljanje napak v knjižnicah tipov tretjih oseb, ne da bi jih morali dekompilirati in jih dodajati v projekt v obliki izvorne kode.

ILSpy ima tudi to funkcijo, ki omogoča neposredno odpravljanje napak v sestavah tretjih oseb, z dvema možnostma

Če je knjižnica tretjih oseb za tipe izvršljiva, lahko program zaženete z Debug izvršljivo datoteko.

Če je knjižnica tretjih oseb za tipe asembler (DLL), jo lahko priključite z aplikacijo Attachment, ki teče, da začnete odpravljati napake v asemblerju.


Kot lahko že vidite na zgornji sliki, je njena uporaba enaka kot odpravljanje napak pri izvorni kodi. Kjer morate spremljati vrednost spremenljivke, nastaviti prelomno točko, in ko program teče do te točke, lahko vrednost spremenljivke opazujete z nadzorom obrazca.

Razlika med obema je v tem, da ko se Attach to the running application debuggne, če je koda optimizirana s strani prevajalnika, monitor ne dobi njene vrednosti.

Kot je prikazano na sliki, vrednosti spremenljivke num, ki se odpravlja napako, ni mogoče prikazati, ker je koda optimizirana. Uradna priporočena metoda je Debug a Executable


Tako kot pri odpravljanju napak pri .NET izvorni kodi v Visual Studiu, lahko stopite v, Step over, nadaljujete, in statusna vrstica bo prikazala čakanje, izvajanje in odpravljanje napak.

Poleg odpravljanja napak kode v C#/VB obliki asemblerja jo je mogoče razhroščevati tudi v IL kodi, kot je prikazano na spodnji sliki

ILSpyjev razhroščevalnik obstaja kot vtičnik, poskrbite, da vključite vtičnik ILSpy.Debugger.


Ampak odpravljanje napak. .NET sestave morajo zahtevati PDB datoteke. Vendar ILSpy ne generira PDB datotek (PDB datotek ni ustvarjenih) in ne more odpravljati napak ASP.NET spletnih aplikacij in storitev.






Prejšnji:>> rekrutiranje <<
Naslednji:Shenzhen Liantianxia Technology Co., Ltd
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com