给大家分享两款正在使用的reflector插件

推荐两款神器:Deblector和reflexil

Deblector

它的名字是Debug 和 reflector 两个单词的结合。就是用来调试的。 简单的说,它可以像ide一样启动调试进程,或者Attach到一个运行中的进程,并调试他们,设置断点,单步运行,查看变量等等。 它不需要pdb文件,也不会像reflector pro的调试插件一样依赖ide,也不需要反编译dll。 一切工作仅在reflector内部完成,是不是很cool。 但缺点也是有的,那就是它只能在il级别调试。不过对于我们调试bug来说,这个基本已经足够了。

简单说一下这个插件的用法。安装到reflector后, tools菜单下会多一个Deblector菜单。

clip_image002

点开这个菜单,就可以打开这个插件了。 这时reflector的toolbar上会多出一些button。

clip_image004

这些button的意思就不多说了,自己看tooltip。

如果想启动一个新进程调试的话,可以把exe拖到reflector中, 然后点击toolbar上的第一个按钮,就是小三角,就可以自动启动这个exe并进入调试模式。

clip_image006

此时进程启动起来了,但是会在main函数的入口处断住,等待你的操作,这个时候你可以找到你想要设断点的方法,F9设置断点。

clip_image008

然后点击小三角或者F7继续运行程序。然后当程序走到断点的时候,就能断住了。

这里要注意一点,要设置断点,必须在程序已经断住的时候才能设,这就是为什么在程序一开始会自动断在main入口处的原因了。 如果中途还想设断点,可以点击暂停按钮。暂停下来,再设。 其他的功能自己玩吧。 这个工具目前好像已经停止更新了,我测试的可以调试3.5的代码。4.0的似乎调不了。

clip_image010

 

reflexil

简单的说这个东东可以修改dll的代码,并保存成一个新的dll。按照它自己的说法叫做dll注入工具。 单看这一点似乎没什么。 但这个插件的功能却是很强大。我简单的说一些: 安装后,会有这个菜单,

clip_image012

还有不同的右键菜单:

clip_image014

当你选中一个方法的时候,它能显示处il代码以及很多别的信息,这些信息都是可以修改的。

clip_image016

尤其值得一提的是他的 “Replace All will Code” 功能, 点开会出现一个C# 代码编辑器, 和当前方法的空方法体,然后可以自由书写代码。带智能提示的哦。写完之后点击 Compile就可以了。 注意这里写代码似乎要用全名,别的有时候可能会出错,编不过。

clip_image018

其他的功能就不多说了,它几乎可以修改dll中的任何地方,而且对强名的支持,已及对强名引用的支持都很强大 有兴趣的可以自己试。

欢迎大家分享一下心得。

 

下载地址:

DeblectorAddin-1.1.zip

reflexil.1.1.bin.zip

 

相关阅读:

是什么让C#成为最值得学习的编程语言

从Visual Studio看微软20年技术变迁

C#开发人员应该知道的13件事情

Visual Studio 2017正式版发布全纪录

 

posted @ 2011-01-05 10:17  葡萄城技术团队  阅读(21008)  评论(51编辑  收藏  举报