CIL之——ilasm.exe和ildasm.exe
通用中间语言(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相关推荐
- Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功
Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功 1. 工具准备 .net FrameWork ...
- 初识Ildasm.exe——IL反编译的实用工具(转自Youngman)
Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序--Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...
- 用ILDasm.exe深入理解委托 ()
.Net框架SDK中提供的IL(Intermediate Language:中间语言)反汇编工具(ILDasm.exe)来查看得到的托管PE文件中的元数据和IL代码..Net控件的核心就是公共语言运行 ...
- 【解决方案】VS2013外部工具中添加ildasm.exe
VS2013安装在Win8.1的操作系统中,开始屏幕中找不到ildasm.exe没有显示,于是下面提供了一种方法将ildasm.exe工具添加到VS2013外部工具中,并将反编译的代码输出到VS201 ...
- ildasm.exe 查看c# dll 信息,符号 、函数等等
ildasm.exe 查看c# dll 信息,符号 .函数等等 运行 ildasm.exe 把 C# 的 dll 拖入程序中即可
- 使用PageHeap.EXE或GFlags.EXE检查内存越界错误 (转)
2011-05-27 20:19 290人阅读 评论(0) 收藏 举报 microsoftdebuggingstructureoutputimagefile 必先利其器之一:使用PageHeap.EX ...
- win2003系统+IIS6下,经常出现w3wp.exe和sqlserver.exe的内存占用居高不下
在IIS6下,经常出现w3wp.exe,sqlserver.exe的内存占用不能及时释放,从而导致服务器响应速度很慢. 由于内存释放不及时严重影响到服务器的正常运营,建议采用以下配置,但请考虑自身服务 ...
- 威金病毒、维金病毒、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目录下 ...
- 安装了超图、oracle、eclipse、JDK后系统的java进程情况以及java.exe、javaw.exe
发现系统java进程占用内存高:高时达500M: 展开查看详情,从电脑管家的内存管理中看不出所以然: Eclipse是另外单独的进程: 进入任务管理器,看到第一个java应用是超图服务器:占内存比较高 ...
最新文章
- Visual Studio 2017工程项目的几个重要文件解析
- 点云数据的类型主要分为_点云学习在自动驾驶中的研究概述
- ABAP中查找代码的标准程序
- java并发编程实践 读书笔记_Java - 并发编程实践(读书笔记)
- struts启动过滤器异常_面试必备:网关异常了怎么办?如何做全局异常处理?
- linux+后台运行+nohup,Linux后台运行命令集(、fg、bg、jobs、nohup、ctrl + z)
- 第三次学JAVA再学不好就吃翔(part9)--基础语法之键盘录入
- fun(n) Java_java程序员的kotlin课(N+2):suspending函数执行编排
- ubuntu安装LDAP
- 【Mysql优化】索引覆盖
- html新增的选择器,HTML5新增的选择器
- 基于机器视觉的眼镜镜片轮廓提取
- Maven学习五之Nexus中各repository介绍
- iOS开发 Xcode10报错缺少libstdc++.6.0.9.tbd
- Ubuntu16.04 安装 卸载 pip
- 如何取消计算机限制连接,怎样解除网络连接限制?
- pythonidle怎么设置_Python IDLE基本设置
- 同方知网软件_【技巧】方格网土方计算应用技巧,值得学习!
- 经营三类医疗器械不使用计算机,三类医疗器械计算机管理系统要求
- 什么人不在生死簿_人的生死簿-地府中类似于生死簿的东西有哪些/地府中类似于生死簿,-爱问知识人...