ILdasm 的使用

本文详细介绍了如何使用ILdasm工具查看.NET可执行文件中的中间语言(MSIL)代码。通过一个实例,展示了如何在Visual Studio 2008中生成MSIL代码,并使用ILdasm进行解读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软中间语言 (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。

posted on 2011-01-27 14:23 Michael Shang 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/MichaelShang/archive/2011/01/27/1946193.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值