Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 20394|Risposta: 0

[Smontaggio] Strumento di disassemblaggio Tutorial.net decompilazione dei programmi c# (ILSpy)

[Copiato link]
Pubblicato su 06/06/2015 11:09:21 | | | |
Utilizzo dello strumento di decompilazione ILSpy. Tuttavia, ILspy richiede che il .NET Framework 4.0 sia installato sul tuo computer. ILspy può convertire un file dll in linguaggio C# o VB. ILspy può salvare un singolo file come file .cs o .vb, e quando ci sono molti file, puoi scegliere di salvarlo come file di progetto. Le istruzioni C# possono essere decompilate da ILspy, e possono supportare la decompilazione di istruzioni yield return ed espressioni lambdas.

Usavo Reflector per visualizzare alcune informazioni sulla libreria .NET, ma da febbraio 2011 Reflector si è spostato verso software a pagamento, quindi gli sviluppatori che amano il software libero si sono dedicati allo sviluppo del proprio software decompilato. Quindi ILspy è nato per fortuna. ILSPY è uno strumento open-source che sostituisce i riflettori e decompila codice in modo simile ai riflettori.

SharpDevelop è un altro e unico . .NET open tool, ed è open source. Offre anche funzionalità piuttosto buone, quasi riscrivendo Visual Studio. Nell'ultima versione, è stato aggiunto direttamente il supporto per i file di sicurezza della soluzione e i file di progetto di Visual Studio. ILSpy è uno strumento di decompilazione del gruppo SharpDevelop ed è anch'esso open source, e il suo debugger e decompilatore sono descritti di seguito.


Screenshot dell'interfaccia di ILspy


L'interfaccia di ILSpy è simile a quella di Reflector, con i controlli ad albero che mostrano l'assemblaggio e il suo tipo a sinistra e il corrispondente codice sorgente a destra. La funzione di decompilazione di base non è male rispetto a Reflector, e a volte può persino essere decompilata con ILSpy per assembly che non possono essere decompilati (a causa della crittografia) con Reflector.

ILspy richiede che .NET Framework 4.0 sia installato sul tuo computer.Ci sono diverse funzionalità comunemente utilizzate da ILspy

È disponibile la funzione base di decompilazione dei tipi

Ora è supportata solo la decompilazione del codice sorgente in linguaggi C# e IL, non VB.

Le rappresentazioni sono:

Funzione di salvataggio del codice di ILSpy

Cliccando su un tipo, selezionando File-> Save Code si decompila il tipo corrente e lo salva nel file specificato; selezionando un assembly, il Save Code viene salvato come file progetto (csproj) e tutti i suoi tipi vengono aggiunti al progetto.


Funzione debugger di ILSpy

Il debugger qui non si riferisce a Visual Studiofontelivello di debugger, ma si riferisce al debugger dell'assembly. Reflector ha un addin che può essere collegato direttamente a Visual Studio per debug librerie di tipi di terze parti senza dover decompilare le librerie di tipi di terze parti e aggiungerle al progetto sotto forma di codice sorgente.

ILSpy offre anche questa funzione, che permette di fare il debug diretto di assembly di terze parti, con due opzioni

Se la libreria di tipi di terze parti è un eseguibile, puoi avviare il programma con Debug a un eseguibile.

Se la libreria di tipi di terze parti è un assembly (DLL), puoi collegarla con un Attacca all'applicazione in esecuzione per iniziare a debugare l'assembly.


Come si può già vedere dall'immagine sopra, il suo utilizzo è lo stesso del debug del codice sorgente. Quando devi monitorare il valore della variabile, impostare un punto di interruzione e, quando il programma arriva a quel punto, puoi osservare il valore della variabile monitorando la forma.

La differenza tra i due è che quando Attach to un'applicazione in esecuzione viene debuggato, se il codice viene ottimizzato dal compilatore, il monitor non ne otterrà il valore.

Come mostrato nell'immagine, il valore della variabile num in debug non può essere visualizzato perché il codice è stato ottimizzato. Il metodo ufficiale raccomandato è Debug a un eseguibile


Come per il debug del codice sorgente .NET in Visual Studio, puoi entrare, passare sopra, continuare, e la barra di stato mostrerà Standby, esecuzione e debug.

Oltre a debugare il codice in forma C#/VB dell'assembly, può anche essere debuggato in codice IL, come mostrato nella figura qui sotto

Il debugger di ILSpy esiste come plugin, assicurati di includere il plugin ILSpy.Debugger.


Ma il debug. Gli assembly .NET devono richiedere file PDB. Tuttavia, ILSpy non genera file PDB (non vengono generati file PDB) e non può fare il debug ASP.NET applicazioni web e servizi web.






Precedente:>> reclutamento <<
Prossimo:Shenzhen Liantianxia Technology Co., Ltd
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com