ildasm、ilasm修改、反编译 已经编译的 dll文件(c#)
在开发中遇到这样一个场景,需要修改一个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
新建批处理bat:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe 编译.il /output=输出.dll /dll
好久以前遇到过一个项目,其中调用一个封装好了的dll,混淆加密加壳还打乱命名了,反编译了出来也是看起来头大,直接IL修改重新生成dll解决了问题。
最近又需要改一个这样的dll,记录下来步骤
首先把dll单独复制出来,查看dll运行库
然后导出.il文件
.............................................................
.............................................................
以下熟悉IL的可以对这个il文件作随意的修改
............................................................
修改完毕,保存
打开到
C:\WINDOWS\Microsoft.NET\Framework
确定了文件夹
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
win+r cmd运行
生成刚刚修改完的IL,如果有.res资源文件 也需要一同输入
ilasm 源文件.il 源文件.res /output=目标文件.dll /dll
ildasm、ilasm修改、反编译 已经编译的 dll文件(c#)相关推荐
- 如何通过ildasm/ilasm修改assembly的IL代码(转
作者: 周银辉 来源: 博客园 发布时间: 2011-05-16 22:36 阅读: 3258 次 推荐: 3 原文链接 [收藏] 这段时间为跟踪一个Bug而焦头烂额,最后发现是Fra ...
- 如何通过ildasm/ilasm修改assem“.NET研究”bly的IL代码
这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望.所以到微软论坛提了个帖子,希望能得到些帮助.虽然论坛智能到能够判断楼主是否是MSDN订阅用户,以便尽快解决( ...
- 反编译Unity3d 中的dll文件
一.步骤实现 1.下载反编译工具,目前,我使用的是ILSpy,打开工具,得到如下界面 2.点击File后得到如下界面 3.单击 "打开" 按钮,选择Unity3d 安装目录下的dl ...
- 如何保护.net中的dll文件(防破解、反编译)
.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行.中间语言很容易被反编译,所以研究下如何有效的保护dll文件. ...
- vc6编译出小体积pe文件
VC写的程序体积是挺大的,网上也有很多优化的文章,都是针对VC6.0来说的.我把我的总结下. #include <windows.h> #pragma comment(lib,&quo ...
- 建立注册DLL和反注册DLL文件的快捷方式
我们经常要注册或者反注册自己写的dll文件,加一个快捷方式会减少自己的工作量: [HKEY_CLASSES_ROOT/dllfile/shell/Unregister] "Command&q ...
- 反编译C#的dll文件并修改,再重新生成dll
1.把dll文件导入到ildasm工具中,ildasm是由微软提供的.net程序反编译工具,位于"C:\Program Files\Microsoft SDKs\Windows\v6.0A\ ...
- Jar包反编译后修改源码再编译
Jar包反编译后修改源码再编译 文章目录 Jar包反编译后修改源码再编译 1. 场景 2. 详细步骤 2.1 查看源码 2.2 生成源文件 2.3 构建项目 2.4 编译成jar包 3. 参考链接 1 ...
- 初识Ildasm.exe——IL反编译的实用工具(转自Youngman)
Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序--Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...
- 三、Android系统内核编译及刷机实战 (修改反调试标志位)
前言 在 二.Android系统源码编译及刷机实战 一文中,我们成功编译了Android 4.4.4_r1源码并刷入系统了 Nexus 5 设备,下面是设置界面的信息.上面显示的内核版本信息是3.4. ...
最新文章
- 移动互联网的机会-从零创业,半年净赚50万?
- 查看mysql当前表使用的存储引擎(转)
- 解体症状---被封印的灵魂
- React Native开发环境搭建记录
- Python的global语句
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
- 怎么导入sklearn包_4.5包
- 九种分布式ID生成方式
- IPtables终于可以使用了,客户机不可以上网的问题解决了
- 在茫茫决策树入门帖里,我强推这篇(附可视化图)
- HDU 6395 Sequence(分段矩阵快速幂)题解
- python静态地图_Matplotlib Toolkits:地图绘制工具
- IOS开发之——屏幕适配-AutoLayout动画(05)
- gridview的sort_asp.net GridView排序简单实现
- 小白操作Win10扩充C盘(把D盘内存分给C盘)亲测多次有效
- [渝粤教育] 西南科技大学 计算机组成原理 在线考试复习资料
- android 短信字体,安卓短信字体 安卓短信字体大小设置
- dhl寄件邮编错了_如果从国外邮寄DHL往中国.邮编怎么写?
- 计算机图形学椭圆_椭圆算法| 计算机图形学
- 【Excel神技】之 工作表区域保护