用于从字节数组中获取IL的API

Ser*_*gel 10 cil

MethodBody类中有一个GetILAsByteArray方法,它给出了方法的主体.我正在寻找将此字节数组转换为更易理解的IL指令(进入List或类似的东西).有哪些资源,开源代码或api可以帮助我理解和转换这个字节数组(或者为我做这些)?

我发现了这个,但它不适用于泛型.我几乎在寻找指导来转换所有框架版本中的这些字节.

CLI文档也有助于学习IL指令,但我无法看到如何使用它来使这些字节有意义.

Jb *_*ain 9

我刚刚编写了一个扩展方法,以使用GetILAsByteArray获得更易理解的指令列表.这很简单,API就像:

public static IList<Instruction> GetInstructions (this MethodBase self);
Run Code Online (Sandbox Code Playgroud)

您可以在我的博客文章中阅读有关实施的更多信息.或者你可以去实施并开始使用它.


Jon*_*son 1

这是一项艰巨的任务。我编写了一个 IL 阅读器的开头,它实现了相当多的操作码:但您需要完成它。

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

还有 MONO Cecil,功能齐全。