C# 反编译工具
深夜已渐进凌晨,突然想跟大家伙分享个很好用的C#反编译工具,而且是免费的。
我们在写.net 代码时经常会遇到这样的问题:不知道一个程序集里面有哪些类,每个类里面包含哪些成员,成员方法是如何实现的。借助于visual studio object browser我们可以看到上述问题中的部分信息,一个很大的痛点就是无法知晓具体实现。
反编译工具的原理
想必大家肯定知道反编译工具的原理,按照CLR规范讲IL代码解析成高级语言源码(C#,F#,Visual Basic etc.). 与之相反,编译是将高级语言源码“加工”成中间语言 IL,是以程序集的形式呈现。
ILSpy
进入重点,今天介绍的这款C#反编译工具就是ILSpy。这个工具可以作为visual studio的一个插件使用,可以通过以下步骤获取这个插件:
- Extension(扩展)->Manage Extension(管理扩展), 在market place上搜索ILSpy
2. 选中安装即可,这个插件需要重启visual studio之后才能生效
如何使用
- 创建或者打开一个project
- 在项目引用里面选中被引用的程序集,右击:
- 选择"Open in ILSpy"