Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 20394|Odpověď: 0

[Rozebírání] C# Disassembly Tutorial.net Program Decompilation Tool (ILSpy)

[Kopírovat odkaz]
Zveřejněno 06.06.2015 11:09:21 | | | |
Použití nástroje ILSpy pro dekompilaci. ILspy však vyžaduje instalaci .NET Framework 4.0 na vašem počítači. ILspy dokáže převést dll soubor do jazyka C# nebo VB. ILspy může uložit jeden soubor jako .cs nebo .vb soubor, a když je souborů více, můžete si ho zvolit jako projektový soubor. C# příkazy lze dekompilovat pomocí ILspy a podporují dekompilaci yield return příkazů a lambdas výrazů.

Dříve jsem používal Reflector k prohlížení informací o knihovně .NET, ale od února 2011 Reflector přechází na placený software, takže vývojáři, kteří milují svobodný software, se začali věnovat vývoji vlastního dekompilovaného softwaru. Takže ILspy vzniklo díky štěstí. ILSPY je open-source nástroj, který nahrazuje reflektory a dekompiluje kód podobný reflektorům.

SharpDevelop je další a jediný. .NET open tool, a je open source. Nabízí také docela dobré funkce, téměř jako by přepisoval Visual Studio. V nejnovější verzi byla přímo přidána podpora bezpečnostních souborů řešení a projektových souborů Visual Studia. ILSpy je nástroj pro dekompilátor ze skupiny SharpDevelop, který je také open source, a jeho ladicí nástroj a dekompilátor jsou popsány níže.


Screenshot rozhraní ILspy


Rozhraní ILSpy je podobné Reflectoru, přičemž stromové ovládání zobrazuje assembler a jeho typ vlevo a odpovídající zdrojový kód vpravo. Základní dekompilační funkce není špatná ve srovnání s Reflectorem a někdy ji lze dokonce dekompilovat pomocí ILSpy pro sestavy, které nelze dekompilovat (kvůli šifrování) pomocí Reflectoru.

ILspy vyžaduje instalaci .NET Framework 4.0 na vašem počítači.Existuje několik běžně používaných funkcí ILspy

Základní funkce pro dekompilaci typů je dostupná

Nyní je podporováno pouze dekompilování zdrojového kódu do jazyků C# a IL, ne VB.

Ztvárnění jsou:

Funkce ukládání kódu v ILSpy

Při kliknutí na typ se výběr File-> Save Code dekompiluje aktuální typ a uloží ho do určeného souboru, a při výběru assembleru se Save Code uloží jako projekt (csproj) a všechny jeho typy jsou přidány do projektu.


Funkce ladění v ILSpy

Debugger zde neodkazuje na Visual Studiozdrojúrovni debuggeru, ale odkazuje na debugger assembleru. Reflector má doplněk, který lze připojit přímo k Visual Studiu pro ladění knihoven typů třetích stran bez nutnosti dekompilace těchto typových knihoven a jejich přidávání do projektu ve formě zdrojového kódu.

ILSpy má také tuto funkci, která umožňuje přímo ladit assemblery třetích stran se dvěma možnostmi

Pokud je knihovna typů třetí strany spustitelná, můžete program spustit pomocí Debug a executable.

Pokud je knihovna typů třetí strany assembler (DLL), můžete ji připojit pomocí Attach k běžící aplikaci a začít ladit assembler.


Jak už můžete vidět na obrázku výše, jeho použití je stejné jako ladění zdrojového kódu. Kde je potřeba sledovat hodnotu proměnné, nastavit breakpoint a když program dojde k tomuto bodu, můžete sledovat hodnotu proměnné sledováním formuláře.

Rozdíl mezi nimi je v tom, že když je Attach to a running application laděn, pokud je kód optimalizován kompilátorem, monitor nezíská jeho hodnotu.

Jak je ukázáno na obrázku, hodnota proměnné, kterou ladíme, nelze zobrazit, protože kód byl optimalizován. Oficiálně doporučenou metodou je Debug an executable


Stejně jako u ladění .NET zdrojového kódu ve Visual Studiu můžete vstoupit do Step, Step over, pokračovat a stavový panel ukáže pohotovost, běh a ladění.

Kromě ladění kódu v C#/VB verzi assembleru lze také ladit v IL kódu, jak je znázorněno na obrázku níže

ILSpy debugger existuje jako plugin, nezapomeňte zahrnout plugin ILSpy.Debugger.


Ale ladění. .NET assemblery musí vyžadovat soubory PDB. ILSpy však negeneruje soubory PDB (žádné soubory nejsou generovány) a nemůže ladit ASP.NET webových aplikací a webových služeb.






Předchozí:>> nábor <<
Další:Shenzhen Liantianxia Technology Co., Ltd
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com