vs2008 编译和反编译

时间:2022-08-30 08:46:36

初学设计模式,找了李建忠老师的C#设计模式教程, Singleton 单件模式中,看到了李老师在vs的命令行中

编译cs和反编译cs文件,和相应的dll,突然很兴奋,可惜视频质量太差,根本看不到具体指令是什么。

 

 

可能是自己学艺不精,vs的很多基本工具都不会用。只是用vs进行傻瓜的项目创建……【无比惭愧中】

============================================================

 

网上查询了,如何使用vs编译和反编译,现在发现vs,另有一片天地啊,心中窃喜。

 

要将 .cs 文件编译成 .exe (或者其他)文件,需要一个 csc.exe(以下简称 csc)文件(编译 .vb 的文件是 vbc.exe),

 

在vs2008中命令提示符中就可以运行。

 

csc /t:library /out:E:/test.dll E:/workspace/dong/project/test.cs

 

/target:exe 表示编译的目标是 exe 文件(还可以是 winexe、library、module)。 /out:(注意不是 /output:)表示编译的的目标文件的存放位置。

 

当然我们可以很方便地解剖这个 exe 文件以获得中间语言,利用文件 ildasm.exe(以下简称 ildasm),即开始程序中的il反汇编程序

ildasm /output:e:test.il e:/test.dll

注意这里是 /output:,不是 /out:。 一般输出两个文件 test.il 和 test.res。

 

 

另外有网友推荐:

Reflector 这个是微软员工开发的一个反编译软件,,能针对各种语言生成的exe, dll进行反编译、如果没有经过特殊混淆。一般都能得到很精确的源码。。支持各种语言,还可导出到文本。。