几年前,我为客户端编写了一个c#应用程序,但现在我已经没有源代码了。我所拥有的只是在客户端PC上部署的EXE。是否有一种方法可以从EXE生成c#源代码?


当前回答

Reflector在一般情况下不再是免费的,但他们确实向开源开发人员免费提供了它:http://reflectorblog.red-gate.com/2013/07/open-source/

但DevExtras和JetBrains等公司已经创建了免费的替代方案:

DevExtras CodeReflect

JetBrains DotPeek

其他回答

Reflector在一般情况下不再是免费的,但他们确实向开源开发人员免费提供了它:http://reflectorblog.red-gate.com/2013/07/open-source/

但DevExtras和JetBrains等公司已经创建了免费的替代方案:

DevExtras CodeReflect

JetBrains DotPeek

我很惊讶没有人提到dnSpy。dnSpy是一个调试器和。net汇编编辑器。即使没有任何可用的源代码,也可以使用它编辑和调试程序集。

主要特点:

调试。net和Unity程序集 编辑.NET和Unity程序集 明暗主题

它是开源的,是dot net应用最广泛的逆向工程工具之一。

现在有各种各样的。net / c#反编译器可用(2022):

ILSpy for everyone[免费OSS c# IL多平台] dotPeek for方便的反编译[免费c# IL] dnSpy为专家,安全和黑客[免费OSS c# VB IL] JustDecompile for everyone[免费OSS c# VB IL](继续为CodemerxDecompile) IldAsm for nostalgia[免费IL] .NET历史反射器[商业不支持c# VB IL MC++]

我更喜欢ILSpy,因为它是免费的,OSS,非常快(与其他软件相比),维护得很好,甚至被Visual Studio使用,反编译的代码是准确的。这篇博文在。net反编译器的丛林中详细解释了所有这些。net反编译器。

Denis Bauer的Reflector和File Disassembler插件。它实际上从程序集生成源项目,其中Reflector本身只显示被分解的源。

我最近最喜欢的是JetBrains的dotPeek。

你需要反射器。