.NET如何反编译?如何不劳而获?如何破解别人的软件?如何查看到别人的源代码,这些问题常常是一个新手所最关心的事情。

当然了,作为一个从业时间较长的我来说,对这种行为谈不上厌恶与否,只是不赞成也不反对。有句话说的好,只是本身是没有错的,就像刀剑本身是没有正邪之分的,就看你怎么用了。

好了,那么接下来我们就介绍如何反编译。

其实很简单且并不神秘,就是需要Reflector这个工具,大家可以到Reflector官方网站(http://www.aisto.com/roeder/dotnet/)下载最新版本下载后解压缩会用一个Reflector.exe直接双击它,就可以运行呢,界面如下.

点击file->open  选择需要反编译的DLL,打开后控件的命名空间会出现在左边的列表中,如上面的dataaccesscommon.点需要反编的类如下面


看到了吧,反编译后的代码和原代码基本上没有什么区别. Reflector本身没有将代码导入到文件功能,需要用到相关插件.下面介绍一个插件用法及用途.

(1)    Reflector.FileDisassembler和Reflector.FileGenerator这两个插件的用的用途都是一样的,将反编译后的代码导出到相关文件,我这里只介绍Reflector.FileDisassemble的用法,Reflector.FileGenerator用法类似Reflector.FileDisassemble

下截地址:

http://www.denisbauer.com/Download.aspx?File=Reflector.FileDisassembler.zip

(a)      启动Reflector,点击view---add-ins….. 选择Reflector.FileDisassembler.dll (下载Reflector. FileDisassembler解压后有这个文件)添加成功后,在tools菜单中会有file disassembler选项.

(b)      选择需要导出的类再选择toolsàfile disassembler 出现以下对话框.

(c)      在文本框中,输入导出文件的目录,然后点击genrate生成文件.

(2)    Reflector.VisualStudio插件,将Reflector工具嵌入到vs.net里.下载 Reflector.VisualStudio后,将解压后的文件和Reflector.exe放在一起,点击 Reflector.VisualStudio.exe,即可导入.这时我们运行vs.net,可以通过菜单栏里的"外部程序- Reflector"运行Reflector.

下截地址:

http://www.testdriven.net/downloads/ReflectorVsAddin.zip

(3)    Reflector.SQL2005Browser 添加方法同(1)该插件用来查看SQL Server 2005 (Yukon) database中的存储集合.

下截地址:

http://www.denisbauer.com/Download.aspx?File=Reflector.SQL2005Browser.zip

(4)    Reflector.CodeMetrics插件,添加方法同(1)该插件用来分析.net assemblies 和显示该组件的性能参数

下截地址:

http://projectdistributor.net/GetFile.aspx?type=b

&id=55

(5)    Reflector.Graph插件添加方法同(1)该插件用来绘制集合的结构图.

下截地址:

http://projectdistributor.net/GetFile.aspx?type=b

&id=56

我这里只介绍了五个插件的应用.有什么说的不对的,大家可以指出. 不过Reflector对那些加密混淆的就没有办法啦,仅仅使作这个工具是不行的,还需要更扎实的计算机基础知识.