2009-01-06 6 views
10

Esiste un metodo GetILAsByteArray nella classe MethodBody che fornisce il corpo di un metodo. Sto cercando di convertire questo array di byte in istruzioni IL comprensibili (in una lista o qualcosa del genere). Quali risorse, codice open source o API sono disponibili per aiutarmi a capire e convertire questo array di byte (o farlo per me)?per ottenere IL dall'array di byte

Ho trovato questo ma non funziona con i generici. Sto cercando una guida per convertire la comprensione di questi byte in tutte le versioni del framework.

La documentazione CLI è anche utile per l'apprendimento delle istruzioni IL ma non riesco a vedere come usarlo per rendere questi byte sensati.

+0

Ciao Serhat, potresti richiedere maggiori informazioni o accettare una risposta? –

risposta

1

È un'impresa enorme. Ho scritto gli inizi di un lettore di IL e ha implementato una buona quantità di codici operativi: ma lo deve terminarlo.

http://svn.ensemble-os.org/tags/OldOCJ/CIL/

C'è anche MONO Cecil, che è caratteristica-complete.

2

Dai un'occhiata alla libreria Mono.Cecil.

8

Ho appena scritto un metodo di estensione per ottenere un elenco più comprensibile di istruzioni utilizzando GetILAsByteArray. E 'abbastanza semplice, l'API è come:

public static IList<Instruction> GetInstructions (this MethodBase self); 

Si può leggere di più sulla realizzazione nel mio blog post. Oppure puoi andare a prendere lo implementation e iniziare a usarlo.

+0

Salvato il mio giorno ... – mark

Problemi correlati