如何获取Windows可执行文件的源代码?

时间:2010-04-17 18:37:12

标签: c# c++ vb.net visual-studio executable

我有一些旧的Windows可执行文件。如何使用Visual Studio 2010编辑它们?有什么方法可以查看exe的源代码?

7 个答案:

答案 0 :(得分:24)

您无法从exe获取C ++源代码,并且您只能通过反射获得某些版本的C#源代码。从你问这个问题的方式来看,对你来说都没有多大用处。

答案 1 :(得分:19)

如果程序是用C#编写的,您可以使用.NET Reflector几乎的原始格式获取源代码。您将无法看到注释和局部变量名称,但它非常易读。

如果它是用C ++编写的,那就不那么容易了......即使你可以将代码反编译成有效的C ++,它也不太可能像原始源一样,因为内联函数和优化很难逆转。

请注意,通过逆向工程和修改源代码,您可能会破坏程序的使用条款,除非您自己编写或获得作者的许可。

答案 2 :(得分:6)

如果是本机代码,您可以将其反汇编。但你不会看到程序员写的原始代码。您将看到编译器(汇编程序)生成的代码。这段代码可能已经过优化,虽然它在语义上是等效的,但它比普通的ASM更难阅读。

如果是字节码(MSIL或javabytecode),有反编译器可以产生相当好的源代码。对于.net,这将是反射器。

答案 3 :(得分:3)

我会(并且已经)使用IDA Pro来反编译可执行文件。它创建半完整代码,您可以反编译为汇编或C。

如果你有一个调试符号的副本,在反编译之前将它们加载到IDA中,它将能够命名许多函数,参数等。

答案 4 :(得分:0)

你无能为力,因为你无法以可读的格式查看它,它几乎是有意的,它会显示解释的机器代码,没有格式或评论正如你通常得到的.cs / .c文件。

这是一个非常受欢迎的方案。

有人已经在另一个website

上询问了这个问题

答案 5 :(得分:-1)

答案 6 :(得分:-1)

对于以任何语言编写的任何* .Exe文件。您可以使用hiew查看源代码(否则查看黑客视图)。您可以在www.hiew.ru下载。它将是演示版,但仍然可以查看代码。

在此之后,请按照以下步骤操作:

  1. 按alt + f2导航到该文件。

  2. 按Enter键查看其程序集/ c ++代码。