C# 使用ildasm+;ilasm要修补单个方法吗?

C# 使用ildasm+;ilasm要修补单个方法吗?,c#,.net,vb.net,reverse-engineering,ildasm,C#,.net,Vb.net,Reverse Engineering,Ildasm,我有一个正在工作的.NET程序集,其源代码已丢失 我想重新编译,只替换一个方法。我只看到一次重写一个类就可以做到这一点。然而,这个类别是巨大的,所以这种方法在经济上是不可行的。是否有一个过程适用于单一方法 理想情况下,该过程应该是完全自动化的(即可以从MSYS Makefile运行的东西),并且不涉及任何GUI(例如Reflector或ILSpy)。如果您下载,请选择文件->打开,打开.dll文件,确保在树状视图中选择了程序集,然后选择文件->保存代码,您将可以选择保存为.csproj。将其保存

我有一个正在工作的.NET程序集,其源代码已丢失

我想重新编译,只替换一个方法。我只看到一次重写一个类就可以做到这一点。然而,这个类别是巨大的,所以这种方法在经济上是不可行的。是否有一个过程适用于单一方法


理想情况下,该过程应该是完全自动化的(即可以从MSYS Makefile运行的东西),并且不涉及任何GUI(例如Reflector或ILSpy)。

如果您下载,请选择
文件->打开
,打开
.dll
文件,确保在树状视图中选择了程序集,然后选择
文件->保存代码
,您将可以选择保存为
.csproj
。将其保存到一个空文件夹中,这将反编译整个程序集并创建一个VS项目,这样您可以在完成后轻松地重新编译程序集。

如果您下载,请选择
文件->打开
,打开
.dll
文件,确保在树状视图中选择了程序集,然后选择
文件->保存代码
,您将可以选择保存为
.csproj
。将此文件保存到一个空文件夹中,这将反编译整个程序集并创建一个VS项目,因此您可以在完成后轻松地重新编译程序集。

使用ILSpy反编译?确实可以使用ildasm+ilasm修补DLL(即,某些由外部工具自动生成的程序集可能需要),但是@spender的建议(+1)从长远来看,恢复代码可能更有用。使用ILSpy反编译?确实可以使用ildasm+ilasm修补DLL(即,某些由外部工具自动生成的程序集可能需要),但@spender的建议(+1)恢复代码从长远来看可能更有用。+1是免费选项,但您也可以在Reflector上花钱,这将允许您在VisualStudio内部调试编译的DLL(我在学习/使用SharePoint API时使用了很多这一功能)。ILSpy是因Reflector不再免费而创建的。谢谢。这(或使用Reflector的等效方法)可以工作,但需要GUI。从命令行运行的东西会更好。@finnw我被你的要求搞糊涂了?“你打算这样做多少次?”斯宾德说。i、 e.每次修改一种更换方法时。上游版本仍然可能发生变化(很少,但如果发生这种情况,我们必须快速响应。)ILSpy无法将所有VB.NET代码翻译成C。它做得很好,但是有一些错误需要手工更正。+1免费选项,但您也可以在Reflector上花钱,这将允许您在Visual Studio内部调试编译的DLL(我在学习/使用SharePoint API时经常使用该功能)。ILSpy是因Reflector不再免费而创建的。谢谢。这(或使用Reflector的等效方法)可以工作,但需要GUI。从命令行运行的东西会更好。@finnw我被你的要求搞糊涂了?“你打算这样做多少次?”斯宾德说。i、 e.每次修改一种更换方法时。上游版本仍然可能发生变化(很少,但如果发生这种情况,我们必须快速响应。)ILSpy无法将所有VB.NET代码翻译成C。它做得很好,但是有一些错误需要手工更正。