使用部分源代码反编译C#Exe

使用部分源代码反编译C#Exe,c#,.net-4.0,reflector,C#,.net 4.0,Reflector,我在工作中维护一个C#程序,由于硬盘崩溃,我丢失了一个已部署版本的大量代码(这是我自己的错,因为没有足够频繁地推进git存储库),现在我必须对程序进行一些更改。我有一个旧版本的程序的源代码,我想反编译exe,并将其与旧的源代码合并,以恢复我丢失的代码 我知道我可以使用reflector之类的工具进行反编译,但我不想手动将其与旧代码合并,因为这样我就可以再次编写更改(大约1-2天的工作)。这是可能的,还是我必须手动完成代码转储?我建议您重新编译旧代码,并使用reflector对其进行反编译 然后使

我在工作中维护一个C#程序,由于硬盘崩溃,我丢失了一个已部署版本的大量代码(这是我自己的错,因为没有足够频繁地推进git存储库),现在我必须对程序进行一些更改。我有一个旧版本的程序的源代码,我想反编译exe,并将其与旧的源代码合并,以恢复我丢失的代码


我知道我可以使用reflector之类的工具进行反编译,但我不想手动将其与旧代码合并,因为这样我就可以再次编写更改(大约1-2天的工作)。这是可能的,还是我必须手动完成代码转储?

我建议您重新编译旧代码,并使用reflector对其进行反编译

然后使用reflector反编译当前可执行文件,并区分这两个文件。这样,您将只看到所做的更改,并且可以将这些更改应用到旧的源代码中,而不仅仅是在反编译代码和原始源代码之间进行区分——这显然会产生大量无趣的差异(注释,一方面!)


老实说,我看不出还有比这更好的。当然,这是一个手动过程,但它仍然会为您节省一些时间。

我不得不这样做过一次,我推荐Dis#

编辑:

现在,更好了

我不知道任何自动反编译实用程序,我认为实际上没有这样的实用程序可用。到目前为止,Reflector是.NET反汇编/反编译的最佳工具,而且它的工作做得很好……Dis#在解决我的问题方面似乎没有比Reflector做得更多,而且由于我无法在这个问题上花钱,我只能得到非常有限的试用。我不知道Reflector能做什么,但是Dis#不仅可以一次创建所有源文件(在C#或VB.NET或Delphi.NET中),还可以创建整个visualstudio项目,并添加所有引用。上次我试过,我反编译的项目马上就编译好了。。。我告诉过你我会为你做的(如果你愿意),如果是的话,就给我你的电子邮件地址。非常好的建议。我会把这个问题留一段时间等待其他建议,但我想我会在以后接受这个问题。没有必要,你可以使用补丁来应用差异,这是完全自动的。当然,这是假设你同意整个diff,他当然不会同意。我刚刚遇到了一个相同的情况,反射镜工作得很好,谢谢!