我写了一C#应用程序对于客户几年前,但是我再也没有的源码。我所有的可执行软件,我已部署在客户的个人电脑。有没有办法我可以产生C#源代码从EXE?

有帮助吗?

解决方案

Reflector 及其加载项 FileDisassembler

Reflector将允许查看源代码。 FileDisassembler允许您将其转换为VS解决方案。

其他提示

当红门所说的那将不再是一个免费版本。净反射器,我开始使用 ILSpy 和阶段的 JustDecompile.我已经找到ILSpy要进行更准确地比JustDecompile(仍然是在测试版).红门已经改变了他们的决定,仍然有一个免费版本。净反射器,但现在我喜欢ILSpy.

从ILSpy网站(http://www.ilspy.net/):

ILSpy 是的开放源。净大会浏览器和反编译器.

ILSpy功能

  • 大会浏览
  • IL拆卸
  • 反编译C#
  • 支持和lambda'产退回'
  • 表示XML文件
  • 节省的资源
  • 搜索类型/方法/属性(substring)
  • 超级链接的基于类型/法/属性导航
  • 基地/源类型的导航
  • 导航的历史
  • BAML XAML反编译器
  • 保存大会作为C#项目
  • 找到使用领域/方法
  • 可扩展通过插件(MEF)

更新:

四月15日2012年,ILSpy2.0被释放。新的特点相比有1.0版:

  • 大会列出了
  • 支持反编译表达的树木
  • 支持解除operatores在nullables
  • 反编译Visual Basic
  • 搜索多个串通过分离的空间(在寻找"装配经理"在ILSpy.exe 会找到AssemblyListManager)
  • 点击一个地方变量将突出的所有其他次出现的变量
  • Ctrl+F可以用于搜索内的反编译代码的视

更新:

  • ILSpy2.1支持异/等待着反编译

反射器一般不再免费,但它们确实免费向开源开发人员提供: http://reflectorblog.red-gate.com/2013/07/open-source/

但像DevExtras和JetBrains这样的公司已经创造了免费的替代品:

DevExtras CodeReflect

JetBrains DotPeek

Reflector和Denis Bauer的文件反汇编程序加载项。它实际上是从程序集生成源项目,其中Reflector本身只显示反汇编的源。

补充:我最近的最爱是JetBrains的 dotPeek

Telerik JustDecompile 是免费的,具有从.NET程序集创建项目的功能。

我很惊讶没人提到微软的 ildasm 即可。它可能不如ILSpy或Reflector那么漂亮,但它随Visual Studio一起提供,因此很多开发人员已经拥有它。

运行它(假设VS 2013,其他版本应该类似):

  1. 选择开始>所有程序> Visual Studio 2013> Visual Studio工具。
  2. 双击VS2013的开发人员命令提示符。
  3. 运行" ildasm"从结果命令提示符。
  4. 在该工具中,选择文件>打开并打开您的可执行文件或DLL。
  5. 现在您可以导航DLL结构。双击类成员以查看IL。使用文件>转储将IL导出到文件。

您需要反射器

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top