.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作

时间:2024-04-10 20:45:48

前言:

          我们有可能遇到这样的问题:.NET网站程序包突然报错了,需要进行修改,而这个代码已经编译成了DLL文件,源代码找不到了。怎么办呢?下面我们就用NET.Reflector+Reflexil 插件相结合,对解析后的DLL文件进行代码修改,然后重新进行编译生成DLL。(这个Reflexil 插件只是用于编译IL中间程序的代码)

第一步:安装NET.Reflector

下载NET.Reflector和Reflexil 1.6,首先安装Reflector。

第二步:加载Reflexil插件

打开Reflector → Tools → Add-Ins → + → 选择Reflexil1.6的DLL文件,点击确定加载到Reflector中

.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作

 选择Reflexil1.6插件里的Reflexil.Reflector.AIO.dll文件.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作

添加好之后,在Tools的下拉菜单里,会多出一个Reflexil 1.6的选项,说明插件加载ok了。 

.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作

第三步:使用Reflexil v1.6修改il代码

1、Reflector加载需要编译的DLL或exe文件,找到想要修改的方法,打开Tools → Reflexil v1.6  你将会看到对应方法的IL代码

.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作

 

2、在Reflexil编辑器中,找到需要修改的地方,通过Edit...操作进行修改。

.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作 

3、回到Reflexil v1.6 编辑器的Instructions选项卡 ,在代码处右键选择Replace all with code...

.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作 

4、在弹出的“Compie”对话框中,点击Complete按钮进行重新编译。

.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作 

5、在NET.Reflector左侧栏的dll或exe上,右击 → Reflexil v1.6 →  Save as 另存为编译后的新文件 

.NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作

这样我们就完成了通过Reflexil插件对dll或exe文件的修改。