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。

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

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

ILdasm 的使用相关推荐

  1. 玩玩.net的ildasm與ilasm (转)

    2019独角兽企业重金招聘Python工程师标准>>> 之前有個朋友拿個vb6的程式給我. 說這是他請別人寫的,需要密碼才能開啟使用, 可是他忘了密碼是甚麼,而且沒有原始碼, 希望看 ...

  2. 去掉ILDasm的SuppressIldasmAttribute限制

    去掉ILDasm的SuppressIldasmAttribute限制 原文 去掉ILDasm的SuppressIldasmAttribute限制 今天本打算汉化一个.Net程序的,当用ILDasm打开 ...

  3. MSIL学习笔记(01):ilasm和ildasm

    我跟每个.NET程序员一样,MSIL多少都接触过一点,个别语句也能看明白,但是没有系统学习过 更没有写过IL代码 和 编译过 IL我觉得学习方法应该跟其他语言不同,因为这个语言根本上不是用来手写的,因 ...

  4. 使用ildasm和ilasm修改dll

    由于最近引用到一个dll,但发现该dll所依赖的一个dll的版本号中的build号比我们手头的低,我们也没有办法找到它所需要的版本的dll,只好觉定修改这个dll. 首先使用ildasm打开这个dll ...

  5. 使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译

    为了保证示例的完整性,请先准备好一个 c#写的 exe 程序,或者可以使用我提供的 exe 程序也可以(很简单,为了测试这里仅生成了一个带按钮的 winform,单击按钮提示弹窗) Test WinF ...

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

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

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

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

  8. 用csc手动编译和Ildasm反编译

    CSC csc.exe是.net用来编译.cs文件的.一般来说在C:\Windows\Microsoft.NET\Framework\v2.0.50727. 1.配置环境变量 首先确认是否配置环境变量 ...

  9. ILDasm和ILAsm简单使用

    1.       新建ILDasmAndILAsmConApp控制台程序. static void Main(string[] args) { string msg = "use ILDas ...

  10. ildasm + ilasm + ilmerge 小试牛刀

    我们都知道用 ildasm 可以反编译出中间文件来,再用 ilasm 可以再将中间文件编译回 dll .对于简单的 dll 破解来说, ildasm + ilasm 就是基本工具了. 为了进一步学习I ...

最新文章

  1. mysql.service failed because the control process exited with error code问题
  2. 语言 双线性内插_合资插混间的实力较量,微蓝6 PHEV和卡罗拉双擎E+谁更值得选...
  3. HTTP详解-工作原理
  4. 软件安全测试报告模板_软件测试工程师经典面试题
  5. benchmark如何测试mysql数据库_MySQL的benchmark函数
  6. mysql限制数据类型的长度_MySQL数据类型的长度
  7. at91rm9200移植u-boot
  8. 学习如何搭建SpringBoot框架
  9. 蓝牙BLE芯片PHY6222之SPI驱动ST7789
  10. 【C语言练习——打印上三角及其变形】
  11. 二、写JS代码的三种方式
  12. ZXing.Net条形码二维码标签编辑打印软件
  13. 你是否每天都认真洗手了?数据告诉你洗手时最容易忽视的部位有哪些
  14. H5页面上传图片控件
  15. 数组去重——将数组中重复的元素去掉
  16. 对抗机器学习——FGSM经典论文 EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES
  17. IIS管理器无法打开。启动后,在任务栏中有,但是窗口不见了,另一种解决办法.
  18. Codeforces801D Volatile Kite
  19. 如何在cmd中,使用cd进入指定文件目录
  20. 高二会考计算机操作题试题及答案,2017高二数学会考试题及答案_高二会考答案(数学)(5)...

热门文章

  1. 小程序开发工具命令行启动配置
  2. 微信小程序支付有云闪付支付选项,如何关闭或开通
  3. win10PPT不支持Flash动画
  4. 如何解决PDF图片字体未嵌入的问题
  5. IDEA 2020下载与安装
  6. 模拟数据生成工具--Faker
  7. 关于ip报文校验和一些思考
  8. [RS] 地理空间数据云 使用ftp批量下载影像(以批量下载Landsat8数据为例)
  9. 地理空间数据云 Landsat 8 OLI_TIRS 影像数据下载详解
  10. 海信电视老出现android是什么意思,海信电视屏幕上显示“智能电视系统启动中,请稍后”是什么意思?怎样处理?- 一起装修网...