C# 更改程序集中的代码

C# 更改程序集中的代码,c#,reflector,C#,Reflector,我有一个dll文件是写在C#上的,我通过反射器打开了该文件,该文件是代码 if (a! = 5) { } 如何更改上的代码 if (a == 5) { } 我还有Reflexil插件您可以使用 使用该工具进行反编译,在IL中应用更改,然后使用 如果编译后的应用程序不受保护,这将顺利运行。虽然关于修改IL的答案是正确的,但您也可以使用来反汇编代码并从中创建新项目。然后可以重新编译该项目以生成新的dll 这允许您在更熟悉的环境中进行更改,而不必处理IL。您还可以选择要进行更改的语言 如果需要对程

我有一个dll文件是写在C#上的,我通过反射器打开了该文件,该文件是代码

if (a! = 5)
{
}
如何更改上的代码

if (a == 5)
{
}
我还有Reflexil插件

您可以使用

使用该工具进行反编译,在IL中应用更改,然后使用


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

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

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


如果需要对程序集进行签名,则在重新加载程序集时可能会遇到问题

其他的替代方案是或Resharper 6.0,它也包含一个反汇编程序。

@Brian-如果Jon Skeet现在醒了,这个问题肯定会在几分钟内得到正确的答案;)布莱恩说,如果你不尽可能少地参与社区活动,人们就不太可能帮助你。请为有帮助的答案投票,并接受最能回答您问题的答案(单击答案左侧投票下方的大勾号)。如果不这样做,你就有可能让人们开始忽略你的问题。呵呵,你可以用十六进制编辑器来做这件事,只要把右边的75变成74;)如果您手头有反汇编程序,您可以找到相关的说明,然后将75转为74。反转时通常不做的事情:)您正在寻找的操作码是JNE(0x75),您希望它是JE(0x74)。Reflectil带有一个完整的VB/C编辑器和intellisense,允许直接从Reflector注入代码。见: