初学设计模式,找了李建忠老师的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进行反编译、如果没有经过特殊混淆。一般都能得到很精确的源码。。支持各种语言,还可导出到文本。。