.NET反编译工具简介

知道91 | 工具运用 | 2015-03-03 | 阅读:6013

.NET反编译工具就是能够将编译好的dll文件或者.exe文件重新还原成.cs文件,便于我们分析代码。前段时间因为安装操作系统,所以把电脑上的一部分程序代码给删掉了,不能恢复了,但是服务器上有发布的dll和exe文件,因此我就想到了反编译.NET,找回自己的代码程序。所以.NET反编译工具的作用是很大的,下面介绍一些最流行的.NET反编译工具。

.NET反编译工具简介

Reflector 反编译工具

Reflector应该是最为熟知的.NET反编译工具,最早由微软员工Lutz Roeder编写并免费提供,它除了能将IL转换为C#或Visual Basic以外,Reflector还能够提供程序集中类及其成员的概要信息、提供查看程序集中IL的能力以及提供对第三方插件的支持。但是该工具后被redgate软件公司收购,现在采用收费模式。具体破解版可以网上自行搜索。

ILspy 反编译工具

ILspy唯一免费且开源的.NET反编译器,它基于MIT许可证发布。ILSpy的代码生成和语法高亮功能做的非常好。对于反编译的程序集,它既可以将其保存在一个文件中,也可以为所有文件创建一个项目。ILSpy是一个独立的工具,没有Visual Studio集成。基础的反编译功能,与Reflector相比,丝毫不差,甚至有时候用Reflector无法反编译(因为加密)的程序集,用ILSpy可以反编译。是最先进的.NET反编译器之一。它生成的代码质量很高,它还会尝试到源代码服务器上抓取代码。DotPeek的导航功能和快捷键非常便捷。它还能精确查找符号的使用,同时支持插件。DotPeek不能与Visual Studio集成。现在只支持把源代码反编译为C#和IL语言,不支持VB。

dotPeek 反编译工具

dotPeek是由一家非常牛逼的公司JetBrains发布的一款免费的.NET反编译器,是最先进的.NET反编译器之一。它生成的代码质量很高,它还会尝试到源代码服务器上抓取代码。DotPeek的导航功能和快捷键非常便捷。它还能精确查找符号的使用,同时支持插件。最新的1.1版本的主要特性包括:把反编译的Assembly(程序集)导出,并作为Project保存;通过Assembly视图查看反编译代码;BAML反编译。

Telerik JustDecompile 反编译工具

Telerik JustDecompile是一个免费的.NET反编译器,但是有商业化支持。它生成的代码质量也很高。它可以为反编译程序集得到的代码创建一个项目。JustDecompile提供了健壮的查找功能,能够支持全文查找和符号使用查找。它还有一个插件系统,目前在Telerik的网站上有两个可用的扩展。JustDecompile不能与Visual Studio集成。

我自己最喜欢用的还是Reflector,使用简单。需要注意的是,反编译工具给我们重新生成的代码并不是完全和原来编译前的项目文件代码是一样的,有时甚至还是有bug的,所以需要注意辨别那些反编译不正确的代码。