更改程序集中的代码

时间:2011-05-05 07:53:57

标签: c# reflector

我在C#上写了一个dll文件,我通过Reflector打开文件,文件是代码

if (a! = 5)
{
}

如何更改

上的代码
if (a == 5)
{
}

我仍然有插件Reflexil

3 个答案:

答案 0 :(得分:1)

您可以使用MSIL Disassembler

执行此操作

使用该工具进行反编译,在IL中应用更改并使用MSIL Assembler

重新编译

如果编译的应用程序不受保护,这将顺利运行。

答案 1 :(得分:1)

虽然关于修改IL的答案是正确的,但您也可以使用Denis Bauers plugin for reflector来反汇编代码并从中创建新项目。然后,您可以重新编译该项目以生成新的dll。

这使您可以在更熟悉的环境中进行更改,而不必处理IL。您也可以选择要进行更改的语言。

如果需要对程序集进行签名,那么您可能无法再次加载它。

答案 2 :(得分:1)

其他替代品是ILSpy或Resharper 6.0,它还包含反汇编程序。