2009-01-06 15 views
10

Hay un método GetILAsByteArray en la clase MethodBody que proporciona el cuerpo de un método. Estoy buscando convertir este conjunto de bytes en instrucciones de IL más comprensibles (en una lista o algo así). ¿Qué recursos, código fuente abierto o API está disponible para ayudarme a entender y convertir esta matriz de bytes (o hacerlo por mí)?API para obtener IL de matriz de bytes

Encontré esto pero no funciona con genéricos. Estoy buscando orientaciones para convertir estos bytes en todas las versiones de frameworks.

La documentación de CLI también es útil para aprender las instrucciones de IL, pero no puedo ver cómo usarlo para que estos bytes tengan sentido.

+0

Hola Serhat, ¿podrías solicitar más información o aceptar una respuesta? –

Respuesta

1

Es una gran empresa. Escribí los inicios de un lector de IL y tenía una buena cantidad de códigos de operación implementados: pero será y tendrá que terminarlo.

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

Existe también MONO Cecil, que es característica-completo.

2

Eche un vistazo a la biblioteca Mono.Cecil.

8

Acabo de escribir un método de extensión para obtener una lista más comprensible de instrucciones usando GetILAsByteArray. Es muy sencillo, la API es como:

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

Usted puede leer más acerca de la aplicación en mi blog post. O puede ir a tomar el implementation y comenzar a usarlo.

+0

me salvó el día ... – mark

Cuestiones relacionadas