如何从可执行文件转储汇编程序

时间:2011-09-24 16:58:28

标签: c# assembly

我有一个用C#编译的可执行文件,我想将代码转储到汇编程序代码中,有没有工具可以做到这一点? 还可以从生成的汇编程序创建可执行文件吗?

2 个答案:

答案 0 :(得分:2)

C#没有编译成汇编程序级别,它编译成一个公共中间语言(CIL),这不是一回事。编译C#需要一个解释器,并且总是会。您不能只将已编译的表单的片段复制到非.NET程序中。

答案 1 :(得分:1)

C#无法编译为机器代码,或者至少Microsoft C#编译器无法编译为机器代码。但是,您可以使用ildasm在类似于程序集的打印输出中获取中间语言字节码。

此外,如果您想看到CLR可以及时编译C#代码的一种方法,请使用Mono编译为汇编语言。他们website上的一个例子:

mono --aot program.exe

然后你可以objdump -d从中获取汇编语言,至少在* nix / Mac机器上,或者用Cygwin或MinGW的Windows机器上。