Dll文件生成后,如没有源代码,又要修改其中内容 
可以用微软自带的ildasm和ilasm程序 
先用ildasm将dll文件反编译成il文件 
ildasm Test.dll /out=Test.il 
会生成Test.res和Test.il两个文件 
il文件可以用文本编辑器修改,要注意其中的语法

改完后再用ilasm将il文件重新编译成dll文件 
ilasm /dll /res:Test.res Test.il /out:Test.dll

本人测试时因为ildasm和ilasm程序都是从网上下载来的,因为版本不一样,总是不成功,走了不少弯路 
用这样方式修改唯一不方便的是il文件语法不好理解,一版修改少量的可以用,大量修改也不合适。

用Reflector将dll文件反编译成cs文件,也可以修改,这样好改,可是不好编译回去,有时会报错 
所以选则用Reflector还是用ildasm和ilasm,更据需求各自选择

C#中修改Dll文件 (反编译后重新编译)的更多相关文章

  1. 如何保护.net中的dll文件(防破解、反编译)

    如何保护.net中的dll文件(防破解.反编译) 2010-07-19 15:08 [小 大] 来源: 赛迪网 评论: 0 分享至:      百度权重查询 词库网 网站监控 服务器监控 SEO监控  ...

  2. net 编译报错:编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件

    1,报错提示: 编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件. 在生成过程中保存文件是危险的,这可能会在将来导致不正确的生成输出. 是否仍然继续签出? 2,原因:licenses.l ...

  3. [转载]解析WINDOWS中的DLL文件---经典DLL解读

    [转载]解析WINDOWS中的DLL文件---经典DLL解读 在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! ...

  4. C#中使用DLL文件

    首先,我们需要在C++程序中导出DLL文件.我使用的是Visual Studio开发,把项目"属性"中的“配置类型”改为"动态库dll",然后添加如下导出代码: ...

  5. 设置tomcat配置文件,在Myeclipse中修改jsp文件之后不用重启tomcat

    在Myeclipse中创建的Web程序在修改类或者jsp页面后需要重动ttomcat的,要重新加载一次的,即重新启动tomcat一次.重启时比较慢,及浪费资源及时间, 设置tomcat配置文件,在My ...

  6. 编辑IL文件 修改DLL文件

    本文章只是技术探讨,学习,技术上的研究而已.请支持正版. 如:KS.Gantt.DLL 为例 使用ILSpy反编译 工具 利用ildasm反编译 KS.Gantt.dll  生成IL中间代码 一般会生 ...

  7. 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译

    反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...

  8. 在VC中创建DLL文件的方法步骤

    一.Win32动态链接库 1.制作的步骤: (1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A simple DLL project类型. (2)MyDll ...

  9. .gitignore文件中添加忽略文件或者目录后,不起作用。

    出现该问题的原因: 在git库中已存在了这个文件,之前push提交过该文件. .gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了. 解 ...

随机推荐

  1. python_day10_IO多路复用

    一.python小知识 1.python中无模块作用域 Java /c# 不可以, Python.javascript 可以 for i in range(10): name = i print(i) ...

  2. 虚拟化之vmware-vsphere (web) client

    两种客户端 vsphere client 配置>软件>高级设置里的变量 uservars.supressshellwarning=1 vsphere web client 安装完vSphe ...

  3. Spring注解实例

    public class ActivityAction extends CoreAction { private static final Logger log = Logger.getLogger( ...

  4. 无状态Web应用集成——《跟我学Shiro》

    http://www.tuicool.com/articles/iu2qEf 在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上 ...

  5. web.xml中contextConfigLocation的作用

    如果在web.xml里给该Listener指定要加载的xml,如: xml代码如下: <!-- spring config --> <context-param> <pa ...

  6. Entity Framework菜鸟初飞

    Entity Framework菜鸟初飞 http://blog.csdn.net/zezhi821/article/details/7235134

  7. 程序员书单_J2EE专题

    Enterprise JavaBeans 3.0中文版(第5版) http://download.csdn.net/detail/shenzhq1980/9104015 J2EE设计模式 http:/ ...

  8. jQ的toggle()方法示例

    定义和用法toggle() 方法切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法$(selector).toggle(speed,callback,swi ...

  9. linux系统中rsync+inotify实现服务器之间文件实时同步

    最近需要对服务器上的文件实施动态备份,我又不想每次都手动来进行备份,在网上找了挺多资料,发现使用rsync就可以实现,如果想要实现实时同步,还可以使用rsync+inotify组合,本文就是以组合方式 ...

  10. uboot 环境变量

    从bootm 命令讲起 1 找到linux的内核入口 Bootm命令通过读取uImage的头部0×40字节的信息,将uImage定位到正确的地址,同时找到linux的内核入口地址. 这个地方就涉及到u ...