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

推荐两款神器:Deblector和reflexil

Deblector

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

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

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

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

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

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

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

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

reflexil

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

还有不同的右键菜单:

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

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

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

欢迎大家分享一下心得。

下载地址:

DeblectorAddin-1.1.zip

reflexil.1.1.bin.zip

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码洞

蚂蚁金服RPC框架结构分析

蚂蚁金服近期开源了研发多年的SOFA一篮子框架,其中就有一个非常核心的RPC框架,它叫SOFA-BOLT。小编今天花了近一天的时间仔细阅读研究它的源码,阅读过程...

1041
来自专栏java思维导图

今天我们结合代码详细聊聊BIO,NIO和AIO

很多人说BIO不好,会“block”,但到底什么是IO的Block呢?考虑下面两种情况:

1225
来自专栏友弟技术工作室

云原生概念

1.8K5
来自专栏我是攻城师

如何在Intellij IDEA中集成Gitlab

据说在微软收购github当天,一大批用户纷纷转向了gitlab和bitbucket,这两者也都是比较不错的代码托管网站,针对个人和企业都有对应的免费和收费版本...

1481
来自专栏学习有记

Python和SQL Server 2017的强大功能

2185
来自专栏owent

atsf4g完整游戏工程示例

近期仍然在搭建完整的游戏服务器架构。基于atsf4g(asynchronously-tree server framework fo game)的完整解决方案终...

691
来自专栏Java进阶架构师

这么说吧,dubbo很简单,其实就是一个远程服务调用的框架

既然是新手教学,肯定很多同学不明白什么是分布式和远程服务调用,为什么要分布式,为什么要远程调用。我简单画个对比图说明(图1看到图2。画板画的,勿...

1084
来自专栏Golang语言社区

PHP调用Go服务的正确方式 - Unix Domain Sockets

作者:枕边书 链接:http://www.cnblogs.com/zhenbianshu/p/7265415.html 來源:博客园 问题 可能是由于经验太少,...

4589
来自专栏北京马哥教育

Linux 初步知识详解

1. 描述计算机的组成及其功能 一个完整的计算机系统由硬件系统和软件系统两大部分组成 冯诺依曼体系下的计算机五大部件 CPU:运算器、控制器、寄存器、缓存(一二...

3927
来自专栏我是攻城师

Spring-Boot1.4.0项目部署问题小记

2865

扫码关注云+社区

领取腾讯云代金券