JetBrains dotPeek
dotPeek为一免费的.net反编译和中间措辞代码浏览器工具,由JetBrains开拓。
JetBrains是ReSharper、DotTrace和dotCover(针对付.net开拓者)的作者,该公司的其他产品也包括Java、Ruby、Python、Php和其他措辞的IDE,以及团队开拓插件TeamCity(用于持续集成和Build管理)、Issue追踪工具YouTrack。DotPeek不能与Visual Studio集成。
Telerik JustDecompile
Telerik JustDecompile是一个免费的.NET反编译器,但是有商业化支持。它天生的代码质量也很高。JustDecompile供应了健壮的查找功能,能够支持全文查找和符号利用查找。它还有一个插件系统,目前在Telerik的网站上有两个可用的扩展。JustDecompile不能与Visual Studio集成

ILSpy/dnSpy
末了推举的这一款,也是我日常的主力。紧张缘故原由是下载方便(直接官网下载解压就可以用),功能强大但是利用起来大略。笔者在利用这两种时,以为后者比前者无论是配色,还是格式化都比前者要贴合我的感官。以是我的结论是
dnSpy>ILSpy>.Net Reflector>doPeek
接下来我将大略地反编译一个C sharp的程序。
准备一个小程序在dnSpy中打开通过“菜单”->"打开...",选择所要反编译的exe文件。在左侧的程序名称上点击“转到入口点”,就可以找到Main函数
修处死式中间的文本
在左侧找到初化始组件的代码,然后在右侧代码区点击右键“编辑方法”或“编辑类”。将测试程序中间的文本改成“这是反编译之后的程序”。然后点击右下角的”编译“按钮。
保存并查当作果
点击菜单栏后工具栏上的“保存所有”,点击确定。再次双击exe可以查当作果。
把稳,以上只是逆向工程示例,切勿用于解析其他EXE或DLL。一方面其他程序有加密代码,另一方面不要从事造孽用场。此例只是学习互换之用。