用ildasm/ilasm修改IL代码(操作步骤)

简介: 在开发中遇到这样一个场景,需要修改一个dll文件(.NET程序集)中某些地方的类型名称,但没有源代码,只能修改IL代码。 操作步骤如下: 1. 运行ildasm ildasm是由微软提供的.NET程序反编译工具,位于“C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\”。

在开发中遇到这样一个场景,需要修改一个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代码

目录
相关文章
|
7月前
|
Windows
逆向学习Windows篇:动态加载与def导出
逆向学习Windows篇:动态加载与def导出
83 0
|
8月前
打开xshell无法定位程序输入点。。。。。。。。。。于动态链接库nssock2.dll上解决方法(参考)
打开xshell无法定位程序输入点。。。。。。。。。。于动态链接库nssock2.dll上解决方法(参考)
754 0
|
Go C语言 Windows
【教程】使用 IDA Pro + 010 Editor 反编译和修改 so 文件,让你轻松玩转逆向工程!
当我们在做逆向工作时,总会遇到需要查看某个 so 文件的情况,甚至可能需要对其进行一些微小的修改。这时候,我们就需要来点反编译的魔法了。
8394 0
【教程】使用 IDA Pro + 010 Editor 反编译和修改 so 文件,让你轻松玩转逆向工程!
无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)
无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)
|
C语言
IAR 安装到创建操作(二)配置
IAR 安装到创建操作(二)配置
447 0
IAR 安装到创建操作(二)配置
|
C# C++
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
482 0
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
|
缓存 Java 开发工具
Java 技术篇-利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理,生成的程序显示控制台设置方法
Java 技术篇-利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理,生成的程序显示控制台设置方法
465 0
Java 技术篇-利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理,生成的程序显示控制台设置方法
IDEA 如何查看 class 文件反编译后的内容
IDEA 如何查看 class 文件反编译后的内容
899 0
IDEA 如何查看 class 文件反编译后的内容
|
Windows
如何通过ildasm/ilasm修改assembly的IL代码
  这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望。所以到微软论坛提了个帖子,希望能得到些帮助。虽然论坛智能到能够判断楼主是否是MSDN订阅用户,以便尽快解决(传说MSDN订阅用户的问题能在两天内得到回复的,当时还很得意公司为我们购买的MSDN订阅账号),但得到的回复是“Could you file a bug report for this issue through Connect?”,绝望之后的又一次寒心啊。
1006 0