ILdasm 的使用
软中间语言 (MSIL) 是一种语言,是许多编译器(C#、VB.NET等)的输出。ILDasm (中间语言反汇编器)程序和.Net Framework SDK(FrameworkSDK\Bin\ildasm.exe)打包在一起,让用户以人可阅读的格式查看MSIL代码。通过该工具,我们可以打开任何.net可执行文件(exe或dll)并查看其MSIL代码。下边我们来看看怎么使用:
1.在VS2008中新建一个Windows窗体应用程序,输入如下代码后生成解决方案:
程序代码
private void Form1_Load(object sender, EventArgs e)
{
int i = 0;
i = i++;
MessageBox.Show(i.ToString());
}
2.运行ildasm,打开刚生成的exe文件,可以看到如下内容:
3.在ildasm中双击"Form1_Load: void(object,class [mscorlib]System.EventArgs)"即可看到上边代码的MSIL代码:
程序代码
.method private hidebysig instance void Form1_Load(object sender,
class [mscorlib]System.EventArgs e) cil managed
{
// 代码大小 22 (0x16)
.maxstack 3
.locals init ([0] int32 i)
IL_0000: ldc.i4.0
IL_0001: stloc.0
IL_0002: ldloc.0
IL_0003: dup
IL_0004: ldc.i4.1
IL_0005: add
IL_0006: stloc.0
IL_0007: stloc.0
IL_0008: ldloca.s i
IL_000a: call instance string [mscorlib]System.Int32::ToString()
IL_000f: call valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
IL_0014: pop
IL_0015: ret
} // end of method Form1::Form1_Load
附:将ildasm集成到VS2008中
在VS2008菜单中选择"工具→外部工具",点击添加按钮,在标题中输入ILdasm,命令中输入C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,确定后在工具菜单中就能找到ILdasm了,以后只要选择它就能运行ILdasm。
转载于:https://www.cnblogs.com/MichaelShang/archive/2011/01/27/1946193.html
ILdasm 的使用相关推荐
- 玩玩.net的ildasm與ilasm (转)
2019独角兽企业重金招聘Python工程师标准>>> 之前有個朋友拿個vb6的程式給我. 說這是他請別人寫的,需要密碼才能開啟使用, 可是他忘了密碼是甚麼,而且沒有原始碼, 希望看 ...
- 去掉ILDasm的SuppressIldasmAttribute限制
去掉ILDasm的SuppressIldasmAttribute限制 原文 去掉ILDasm的SuppressIldasmAttribute限制 今天本打算汉化一个.Net程序的,当用ILDasm打开 ...
- MSIL学习笔记(01):ilasm和ildasm
我跟每个.NET程序员一样,MSIL多少都接触过一点,个别语句也能看明白,但是没有系统学习过 更没有写过IL代码 和 编译过 IL我觉得学习方法应该跟其他语言不同,因为这个语言根本上不是用来手写的,因 ...
- 使用ildasm和ilasm修改dll
由于最近引用到一个dll,但发现该dll所依赖的一个dll的版本号中的build号比我们手头的低,我们也没有办法找到它所需要的版本的dll,只好觉定修改这个dll. 首先使用ildasm打开这个dll ...
- 使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译
为了保证示例的完整性,请先准备好一个 c#写的 exe 程序,或者可以使用我提供的 exe 程序也可以(很简单,为了测试这里仅生成了一个带按钮的 winform,单击按钮提示弹窗) Test WinF ...
- 初识Ildasm.exe——IL反编译的实用工具(转自Youngman)
Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序--Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...
- Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功
Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功 1. 工具准备 .net FrameWork ...
- 用csc手动编译和Ildasm反编译
CSC csc.exe是.net用来编译.cs文件的.一般来说在C:\Windows\Microsoft.NET\Framework\v2.0.50727. 1.配置环境变量 首先确认是否配置环境变量 ...
- ILDasm和ILAsm简单使用
1. 新建ILDasmAndILAsmConApp控制台程序. static void Main(string[] args) { string msg = "use ILDas ...
- ildasm + ilasm + ilmerge 小试牛刀
我们都知道用 ildasm 可以反编译出中间文件来,再用 ilasm 可以再将中间文件编译回 dll .对于简单的 dll 破解来说, ildasm + ilasm 就是基本工具了. 为了进一步学习I ...
最新文章
- mysql.service failed because the control process exited with error code问题
- 语言 双线性内插_合资插混间的实力较量,微蓝6 PHEV和卡罗拉双擎E+谁更值得选...
- HTTP详解-工作原理
- 软件安全测试报告模板_软件测试工程师经典面试题
- benchmark如何测试mysql数据库_MySQL的benchmark函数
- mysql限制数据类型的长度_MySQL数据类型的长度
- at91rm9200移植u-boot
- 学习如何搭建SpringBoot框架
- 蓝牙BLE芯片PHY6222之SPI驱动ST7789
- 【C语言练习——打印上三角及其变形】
- 二、写JS代码的三种方式
- ZXing.Net条形码二维码标签编辑打印软件
- 你是否每天都认真洗手了?数据告诉你洗手时最容易忽视的部位有哪些
- H5页面上传图片控件
- 数组去重——将数组中重复的元素去掉
- 对抗机器学习——FGSM经典论文 EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES
- IIS管理器无法打开。启动后,在任务栏中有,但是窗口不见了,另一种解决办法.
- Codeforces801D Volatile Kite
- 如何在cmd中,使用cd进入指定文件目录
- 高二会考计算机操作题试题及答案,2017高二数学会考试题及答案_高二会考答案(数学)(5)...
热门文章
- 小程序开发工具命令行启动配置
- 微信小程序支付有云闪付支付选项,如何关闭或开通
- win10PPT不支持Flash动画
- 如何解决PDF图片字体未嵌入的问题
- IDEA 2020下载与安装
- 模拟数据生成工具--Faker
- 关于ip报文校验和一些思考
- [RS] 地理空间数据云 使用ftp批量下载影像(以批量下载Landsat8数据为例)
- 地理空间数据云 Landsat 8 OLI_TIRS 影像数据下载详解
- 海信电视老出现android是什么意思,海信电视屏幕上显示“智能电视系统启动中,请稍后”是什么意思?怎样处理?- 一起装修网...