用ildasm/ilasm修改IL代码

原文地址:http://www.cnblogs.com/dudu/archive/2011/05/17/ildasm_ilasm_il.html

在开发中遇到这样一个场景,需要修改一个dll文件(.NET程序集)中某些地方的类型名称,但没有源代码,只能修改IL代码。

操作步骤如下:

1. 运行ildasm

ildasm是由微软提供的.NET程序反编译工具,位于“C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\”。

2. 用ildasm打开要修改的程序集,如下图:

3. 通过ildasm保存为IL文件

选择菜单File>Dump,选择UTF-8编码,如下图:

4. 用文本编辑器打开第3步中得到的.il文件,如下图:

5. 修改.il文件中的代码并保存

6. 用ilasm(MSIL汇编程序)将.il文件编译为.dll文件

ilasm位于相应的.NET Framework目录中,比如:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe

在命令行中执行下面的命令:

ilasm 源文件.il /output=目标文件.dll /dll

7. 完成。

参考文章:

如何通过ildasm/ilasm修改assembly的IL代码

posted @ 2016-10-31 17:57  Arlar  阅读(555)  评论(0编辑  收藏  举报