我能使用.NET Reflector快速修改和重新编译代码吗?

24
可以使用.NET Reflector(或其他工具)快速修改和重新编译代码吗?即,不需要转储源代码,然后再使用Visual Studio重新编译它吗?
4个回答

33

你可以使用Reflector的插件Reflexil来实现:

Reflexil是一个程序集编辑器,作为Reflector的插件运行。使用Mono.Cecil,Reflexil能够操纵IL代码并将修改后的程序集保存到磁盘。Reflexil还支持“即时”C#和VB.NET代码注入。


+1. 我使用过Reflexil,它非常好用。Reflexil是首选! - Steven
抱歉我的问题有点菜,但是如何将这个插件添加到反编译工具 Reflector 中呢?我指的是 Red Gate 的 .NET Reflector。谢谢。 - Mahesh Velaga
9
好的,Red Gate公司的.NET Reflector。运行它,然后转到菜单->视图->插件->[添加按钮]。浏览插件的.dll文件,就完成了。 - Igor Korkhov

4
使用 .NET Reflector 与 Reflexil 可以实现此操作。首先下载 Reflexil,然后打开 .NET Reflector,并使用“View”->“Add-Ins”->“Select the Reflexil file(all dlls)”加载 Reflexil。之后打开所需的 dll 文件并转到“Tools”->“Select Reflexil”,打开代码并识别所需项,然后进行编辑,将其分配给程序集并选择“Save As”以保存到新文件中。

2

.NET Reflector无法做到这一点,但其他工具可以反编译.NET程序集,例如FileDisassembler(.NET Reflector的插件)。


0
你可以使用免费的Telerik JustDecompile(我与Telerik无关)。 在加载您想反编译的程序集后,从工具栏中单击“工具”->“创建项目”,它将创建一个.sln和.csproj文件,其中包括所有源文件。如果您喜欢,甚至可以生成VB.NET源文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接