`

MSIL 反汇编程序 (ildasm.exe) [C#]

阅读更多

 

转自:http://gsqls.blog.163.com/blog/static/45971218200992855327797/

 

 

 

MSIL 反汇编程序 (ildasm.exe) [C#]

MSIL.NET Framework中最重要的概念之一。通过MSIL可以预知不同.NET语言的执行效率应该是接近的。通过MSIL汇编程序(ilasm.exe)MSIL反汇编程序(dilasm.exe)可以观察.NET应用的内部构造,因此也可以用于.NET应用、组件的破解。

ildasm的使用方法

步骤一:开始所有程序 → Microsoft Visual Studio 2005 → Visual Studio Tools → Visual Studio 2005命令提示

步骤二:假设我们有一个控制台应用程序Test.exe。然后把Test.exe拷贝到D:\Program Files\Microsoft Visual Studio 8\VC目录下

步骤三:在命令提示窗口进行下面例子中的操作。例如:

1)      ildasm Test.exe 将反汇编代码显示在 Ildasm.exe 的默认 GUI

2)      ildasm Test.exe /output:Test.il 将结果 MSIL 汇编程序文本存储在 Test.il 文件中

3)      ildasm Test.exe /text 将反汇编结果显示到控制台窗口

4)      ildasm /item:Test::Print Test.exe /text Test.exe中类Test中的方法Print进行反汇编

ildasm使用示例

下面的命令使 PE 文件 MyHello.exe 的元数据和反汇编代码显示在 Ildasm.exe 的默认 GUI 中。

ildasm myHello.exe

下面的命令对 MyFile.exe 文件进行反汇编,并将结果 MSIL 汇编程序文本存储在 MyFile.il 文件中。

ildasm MyFile.exe /output:MyFile.il

下面的命令对 MyFile.exe 文件进行反汇编,并将结果 MSIL 汇编程序文本显示到控制台窗口中。

ildasm MyFile.exe /text

如果文件 MyApp.exe 包含嵌入的托管和非托管资源,则下面的命令将产生以下 4 个文件:

ildasm MyApp.exe /output:MyApp.il

MyApp.ilMyApp.resIcons.resourcesMessage.resources

下面的命令对MyFile.exeMyClass类中的MyMethod方法进行反汇编,并将输出显示到控制台窗口中。

ildasm /item:MyClass::MyMethod MyFile.exe /text

在上面的示例中,可能有几个具有不同签名的MyMethod方法。下面的命令对返回类型为void 且带有参数int32 System.String MyMethod 方法进行反汇编。

ildasm /item:"MyClass::MyMethod(void(int32,class System.String))" MyFile.exe /text

分享到:
评论

相关推荐

    ildasm.exe 4

    MSIL 反汇编程序是 MSIL 汇编程序 (Ilasm.exe) 的伙伴工具。 Ildasm.exe 采用包含 Microsoft 中间语言 (MSIL) 代码的可迁移可执行 (PE) 文件,并创建相应的文本文件作为 Ilasm.exe 的输入。 安装 Visual Studio 和 ...

    C#(6/58)

    要创建和执行.NET应用程序,开发者需要使用命令行工具,如csc.exe编译C#源代码生成MSIL,然后使用ILDASM.exe或ILASM.exe来查看或反汇编MSIL代码。最后,通过运行编译后的.exe文件,即可启动应用程序。 综上所述,C#...

    c#学习笔记.txt

    此集合只能用于 C# 程序。 1. 使用上述指导创建一个一般集合,另外实现 IEnumerable 接口。此集合可用于其他语言(如 Visual Basic)。 2. 在集合类中使用一个预定义的集合。 (2) throw 语句用于发出在程序执行...

    反编译工具.NET Reflector 6.5.0.135

    目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com/reflectoraddins中。在此,我...

    C#高级编程前期总结

    1. **使用Ildasm.exe**:可以通过命令行工具`ildasm.exe`来反汇编程序集。例如,要查看名为`Hello.exe`的程序集的内容,可以在命令提示符下输入`ildasm Hello.exe`。 2. **使用Microsoft IL反汇编程序**:直接使用...

    使用MSIL采用Emit方式实现C#的代码生成与注入.pdf

    在编写Emit代码时,可以先用C#实现功能,然后通过ildasm.exe将其转换为MSIL,作为参考。 在实际操作中,我们需要构建一个测试环境来验证代码注入的效果。这通常涉及到动态库的生成和调用。例如,通过Type的...

    msil指令集msil指令集

    通过反编译工具如ILDisassembler(ildasm.exe),开发者可以查看C#代码对应的MSIL指令,这对于理解程序的底层工作原理非常有帮助。 在.NET环境中,JIT编译器会在程序运行时将MSIL动态编译成针对当前平台的本地机器...

    MSIL中文简明教程

    - **反汇编器(ILDasm)**:允许开发者以人类可读的格式查看MSIL代码。这对于调试和理解编译后的代码非常有用。 - **中间语言编译器(ILAsm)**:可以从MSIL生成可执行文件,通常存储在`WINNT\Microsoft.NET\...

    C#微软培训资料

    1.2 .NET 与 C#.6 1.3 C#语言的特点.8 1.4 小 结 .11 第二章 运行环境 全面了解.NET.12 2.1 .NET 结构.12 2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写...

    Microsoft.NET+IL汇编语言程序设计

    4. 使用ILDASM工具:学习如何使用微软提供的IL反汇编器(ILDASM)查看和分析IL代码。 5. 使用反射和元数据:探讨如何通过反射API动态访问.NET程序集,以及元数据在.NET中的作用。 6. IL代码优化:讨论如何通过调整...

    好用的反编译工具.NET Reflector 6.1.0.11(截至2010.08.19最新版)

    目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com/reflectoraddins中。在此,我...

    C#(7/58)

    同时,ILDisassembler(ildasm.exe)则可以反汇编.NET编译器生成的CLR兼容二进制输出,帮助开发者检查IL代码和元数据,这对于理解和调试代码非常有用。 当我们转向Visual Studio.NET的安装,这是一个功能强大的集成...

    dnSpy-master_C#反编译_c#dnSPY_

    它首先解析程序集的元数据,然后使用ILDASM(IL Disassembler)工具反汇编IL代码为C#源代码。同时,通过ILDASM和MSIL(Microsoft Intermediate Language)的深度理解,dnSpy能准确地呈现代码结构和注释。 3. **技术...

    mil微软中间汇编语言

    ILDasm是一个反汇编工具,用于将已编译的.NET程序集(例如.exe或.dll文件)转换为可读的MSIL代码,便于查看和分析。而ILAsm则相反,它用于将MSIL代码组装成.NET程序集,允许开发者直接用MSIL编写代码。 MSIL的特点...

    MSIL教程

    1. **中间语言反汇编器(ILDasm)**:这个工具允许开发者将MSIL代码以人类可读的形式展示出来,便于理解和调试。它可以从编译后的程序集中提取MSIL代码,并将其转换为文本格式。 - **用途**:主要用于代码审查、...

    好用的反编译工具.NET Reflector 6.6.0.30(截至2011.04.20最新版)

    目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com/reflectoraddins中。在此,我...

    .NET Reflector6.5.0.135(2010.11.04前最新反编译工具,源码查看)

     有了Reflector.VisualStudio插件(正版,下面是根据在线资料介绍),Reflector可以寄在Visual Studio中Reflector不仅是一个对象浏览器、反汇编器,包裹在同一个程序中的所有功能还可以寄于Visual Studio中。...

    Reflector 7.5.4 带注册机和说明文件

    目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com/reflectoraddins中。在此,我...

    .NET Reflector 7.0.0.420 Crack

    目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com/reflectoraddins中。在此,我...

    Reflector 6.5.0.135

    目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com /reflectoraddins中。在此,我...

Global site tag (gtag.js) - Google Analytics