通用中间语言(Common Intermediate Language,简称CIL)(亦被称作MSIL或IL)是一种属于通用语言架构和 .NET 框架的低阶(lowest-level)的人类可读的编程语言。目标为 .NET 框架的语言被编译成CIL(基于.NET框架下的伪汇编语言,原:MSIL),这是一组可以有效地转换为本机代码且独立于 CPU 的指令。CIL类似一个面向对象的汇编语言,并且它是完全基于堆栈的。它运行在CLR上(类似于JVM),其主要支持的语言有C#、Visual Basic .NET、C++/CLI以及 J#(集成这些语言向CIL的编译功能)。
ilasm.exe
ilasm.exe即IL汇编程序,它可利用中间语言(IL)生成可移植可执行(PE)文件。可以运行一下生成的可执行文件(包含IL和所需的元数据)以确定IL是否按预期执行。
它虽然是*.exe文件但不能直接双击打开使用,必须在命令行工具中使用命令来让其运行,如果直接双击运行ilasm.exe就会出现一闪而过的情况。
当使用命令行工具来让其运行时,分为以下几步:
1、打开cmd.exe
2、ilasm.exe存储在我电脑中的C:\Windows\Microsoft.NET\Framework\v4.0.30319目录下,所以需要切换路径
3、现在我们可以使用ilasm命令来查看其所有操作、说明及命令格式
4、如果想输出*.exe文件,可以使用如下命令
ilasm /exe D:\Study\CIL\First.il /output:D:\Study\CIL\First.exe
5、如果想输出*.dll文件,可以使用如下命令
ilasm /dll D:\Study\CIL\First.il /output:D:\Study\CIL\First.dll
ildasm.exe
ildasm.exe即IL反汇编程序,它是 IL 汇编程序 (ilasm.exe) 的配套工具。 ildasm.exe可利用包含中间语言(IL)代码的可移植可执行(PE)文件,并创建适合输入到ilasm.exe的文本文件(*.il文件)。
ildasm.exe文件可以直接双击打开使用,也可以在命令行工具中使用命令来让其运行。
1、当双击打开ildasm.exe时,把想要进行反汇编的文件拖到工具中即可,截图如下:
2、当使用命令行工具来让其运行时,分为以下几步:
a. 打开cmd.exe
b. ildasm.exe存储在我电脑中的C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools目录下,所以需要切换路径
c. 使用ildasm命令输出*.il文件
关于ildasm.exe的详细说明和参数请参考MSDN
本文介绍通用中间语言(CIL)及其在.NET框架中的作用,包括CIL的基本概念、如何通过ilasm.exe生成PE文件及如何使用ildasm.exe进行反汇编。





