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

推荐两款神器:Deblector和reflexil

Deblector

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

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

给大家分享两款正在使用的reflector插件_第1张图片

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

clip_image004

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

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

给大家分享两款正在使用的reflector插件_第2张图片

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

给大家分享两款正在使用的reflector插件_第3张图片

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

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

clip_image010

reflexil

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

给大家分享两款正在使用的reflector插件_第4张图片

还有不同的右键菜单:

给大家分享两款正在使用的reflector插件_第5张图片

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

给大家分享两款正在使用的reflector插件_第6张图片

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

给大家分享两款正在使用的reflector插件_第7张图片

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

欢迎大家分享一下心得。

你可能感兴趣的:(reflect)