Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 20394|Odpoveď: 0

[Rozoberanie] C# Disassembly Tutorial.net Program Decompilation Tool (ILSpy)

[Kopírovať odkaz]
Zverejnené 6. 6. 2015 11:09:21 | | | |
Použitie nástroja na dekompiláciu ILSpy. Avšak ILspy vyžaduje inštaláciu .NET Framework 4.0 na vašom počítači. ILspy dokáže konvertovať dll súbor do jazyka C# alebo VB. ILspy môže uložiť jeden súbor ako .cs alebo .vb súbor, a keď je súborov veľa, môžete si zvoliť uloženie ako projektový súbor. C# príkazy je možné dekompilovať pomocou ILspy a podporuje dekompiláciu yield return príkazov a lambdas výrazov.

Kedysi som používal Reflector na prezeranie informácií o .NET knižnici, ale od februára 2011 sa Reflector presúva na platený softvér, takže vývojári, ktorí milujú slobodný softvér, sa začali venovať vývoju vlastného dekompilovaného softvéru. Takže ILspy vzniklo vďaka šťastiu. ILSPY je open-source nástroj, ktorý nahrádza reflektory a dekompiluje kód podobný reflektorom.

SharpDevelop je ďalší a jediný. .NET open tool a je open source. Ponúka tiež celkom dobré funkcie, takmer ako prepísanie Visual Studia. V najnovšej verzii bola priamo pridaná podpora bezpečnostných súborov riešení a projektových súborov Visual Studio. ILSpy je nástroj na dekompiláciu zo skupiny SharpDevelop, ktorý je tiež open source, pričom jeho ladiaci nástroj a dekompilátor sú popísané nižšie.


Snímka obrazovky rozhrania ILspy


Rozhranie ILSpy je podobné Reflectoru, pričom stromové ovládanie zobrazuje zostavu a jej typ naľavo a príslušný zdrojový kód napravo. Základná dekompilačná funkcia nie je zlá v porovnaní s Reflectorom a niekedy sa dá dokonca dekompilovať pomocou ILSpy pre zostavy, ktoré sa nedajú dekompilovať (kvôli šifrovaniu) pomocou Reflectora.

ILspy vyžaduje inštaláciu .NET Framework 4.0 na vašom počítači.Existuje niekoľko bežne používaných funkcií ILspy

Základná funkcia dekompilácie typov je dostupná

Teraz je podporované len dekompilovanie zdrojového kódu do jazykov C# a IL, nie VB.

Vizualizácie sú:

Funkcia ukladania kódu v ILSpy

Po kliknutí na typ sa výber File-> Save Code dekompiluje aktuálny typ a uloží ho do špecifikovaného súboru, a pri výbere assembleru sa Save Code uloží ako projektový (csproj) súbor a všetky jeho typy sa pridajú do projektu.


Debugger funkcia ILSpy

Debugger tu neodkazuje na Visual Studiozdrojúrovni debuggeru, ale odkazuje na debugger assemblera. Reflector má doplnok, ktorý je možné pripojiť priamo k Visual Studiu na ladenie knižníc typov tretích strán bez nutnosti dekompilovať knižnice typov tretích strán a pridávať ich do projektu vo forme zdrojového kódu.

ILSpy má tiež túto funkciu, ktorá umožňuje priamo ladiť zostavy tretích strán s dvoma možnosťami

Ak je knižnica typov tretej strany spustiteľná, môžete spustiť program pomocou Debug a spustiteľného súboru.

Ak je knižnica typu tretej strany assembler (DLL), môžete ju pripojiť pomocou aplikácie Attach k bežiacej aplikácii, aby ste začali ladiť assembler.


Ako už vidíte na obrázku vyššie, jeho použitie je rovnaké ako ladenie zdrojového kódu. Kde je potrebné sledovať hodnotu premennej, nastaviť bod prerušenia a keď program dosiahne tento bod, môžete sledovať hodnotu premennej sledovaním formulára.

Rozdiel medzi nimi je v tom, že keď je Attach to a running application ladený, ak je kód optimalizovaný kompilátorom, monitor nezíska jeho hodnotu.

Ako je znázornené na obrázku, hodnota ladiacej premennej num sa nedá zobraziť, pretože kód bol optimalizovaný. Oficiálna odporúčaná metóda je Debug a executable


Rovnako ako pri ladení .NET zdrojového kódu vo Visual Studiu, môžete Step In, Step over, pokračovať a stavový panel ukáže pohotovosť, beženie a ladenie.

Okrem ladenia kódu v C#/VB verzii assembleru je možné ladiť aj v IL kóde, ako je znázornené na obrázku nižšie

DEBUGGER ILSpy existuje ako plugin, nezabudnite zahrnúť plugin ILSpy.Debugger.


Ale ladenie. .NET zostavy musia vyžadovať súbory PDB. ILSpy však negeneruje PDB súbory (žiadne PDB súbory sa negenerujú) a nemôže ladiť ASP.NET webové aplikácie a webové služby.






Predchádzajúci:>> nábor <<
Budúci:Shenzhen Liantianxia Technology Co., Ltd
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com