通用中间语言(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

关于ilasm.exe的详细说明和参数请参考MSDN

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之——ilasm.exe和ildasm.exe相关推荐

  1. Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功

    Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功 1.       工具准备 .net FrameWork ...

  2. 初识Ildasm.exe——IL反编译的实用工具(转自Youngman)

    Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序--Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...

  3. 用ILDasm.exe深入理解委托 ()

    .Net框架SDK中提供的IL(Intermediate Language:中间语言)反汇编工具(ILDasm.exe)来查看得到的托管PE文件中的元数据和IL代码..Net控件的核心就是公共语言运行 ...

  4. 【解决方案】VS2013外部工具中添加ildasm.exe

    VS2013安装在Win8.1的操作系统中,开始屏幕中找不到ildasm.exe没有显示,于是下面提供了一种方法将ildasm.exe工具添加到VS2013外部工具中,并将反编译的代码输出到VS201 ...

  5. ildasm.exe 查看c# dll 信息,符号 、函数等等

    ildasm.exe 查看c# dll 信息,符号 .函数等等 运行 ildasm.exe 把 C# 的 dll 拖入程序中即可

  6. 使用PageHeap.EXE或GFlags.EXE检查内存越界错误 (转)

    2011-05-27 20:19 290人阅读 评论(0) 收藏 举报 microsoftdebuggingstructureoutputimagefile 必先利其器之一:使用PageHeap.EX ...

  7. win2003系统+IIS6下,经常出现w3wp.exe和sqlserver.exe的内存占用居高不下

    在IIS6下,经常出现w3wp.exe,sqlserver.exe的内存占用不能及时释放,从而导致服务器响应速度很慢. 由于内存释放不及时严重影响到服务器的正常运营,建议采用以下配置,但请考虑自身服务 ...

  8. 威金病毒、维金病毒、Viking、logo1_.exe专杀 vdll.dll、logo1_.exe、rundl132.exe、_desktop.ini、、0Sy.exe、图标变花...

    威金病毒.维金病毒.Viking.logo1_.exe专杀 vdll.dll.logo1_.exe.rundl132.exe._desktop.ini..0Sy.exe.图标变花 Windows目录下 ...

  9. 安装了超图、oracle、eclipse、JDK后系统的java进程情况以及java.exe、javaw.exe

    发现系统java进程占用内存高:高时达500M: 展开查看详情,从电脑管家的内存管理中看不出所以然: Eclipse是另外单独的进程: 进入任务管理器,看到第一个java应用是超图服务器:占内存比较高 ...

最新文章

  1. 又要头秃?2020年七大AI编程语言大盘点
  2. BBI综述:在微生物组研究中使用宏转录组
  3. 深度优先遍历和广度优先遍历_利用广度优先搜索解LeetCode第515题:在每个树行中找最大值...
  4. boost::to_string用法的测试程序
  5. php curl 数据采集 空,PHP curl从网站返回空数组的数据
  6. 图片处理拓展篇 : 图片转字符画(ascii)
  7. 【es】es 集群黄色几个索引未分配 timed out waiting for all nodes to published state
  8. Persistent Data Structures(可持久化的数据结构)
  9. 金三银四Java面试的一些感受,实战篇
  10. GCC G++ C C++的区别
  11. GDB 调试命令讲解-转
  12. [LeetCode] 342. Power of Four(位操作)
  13. 学习笔记--配置DHCP服务器(基于全局的地址池)
  14. 软考高级-信息系统项目管理(1)
  15. 使用adb安装apk
  16. Accer 4752G添加固态硬盘 双系统
  17. 草枯树荣,让生命活得云淡风轻
  18. 熵权法STATA程序(第二版修正)
  19. CPU卡PSAM卡 响应指令错误码
  20. 透过“500家门店计划”,看华为的“全屋智能”野心

热门文章

  1. 将您重定向的次数过多什么意思_301永久重定向的设置方法大全
  2. 职位扫盲(CEO,CTO。。。)
  3. 如何在谷歌Chrome新版浏览器中打开并编辑Word/Excel/PPT等Office文档?(视频演示)
  4. 轻量化设计是什么,介绍几种常见的轻量化设计案例
  5. ios runtime重要性_iOS运行时RunTime详解
  6. android 本机号码一键登录,什么是本机号码一键登录?APP本机号码一键登录如何实现?...
  7. 黄帝内经.素问.五运行大论篇(67)
  8. asp.net1045-巴氏鲜奶管理系统
  9. sql去重查询的方法
  10. 昨天刷爆朋友圈的趣味翻译,你看到了吗?