.Net的编程利器Reflector可以反编译基于.net开发的应用程序和DLL,其功能强大不用多说。今天想试验一把利用VS.net的插件断点调试外部无源码的DLL(只要是程序集都可以,所以exe也行)功能。

一.加载VS.net的Reflector插件

从官网下载的Reflector程序(最新版本为6.1.0)包中自带了VS.net的插件,名称为“RedGate.Reflector.Addin.dll”,打开Red Gate’s .Net Reflector程序,选择菜单Tools->Integration Options,打开Integration Options对话框,其支持VS2005/2008/2010三个版本的开发环境,其会自动判断当前系统中安装了哪些开发环境,如果某开发环境不可用,对应选项前会自动灰掉并提示”not installed on this computer”。本文将采用VS2008来进行试验,故确定选择Visual Studio 2008选项。点击OK,就会自动帮我们安装好该插件。安装好后,会在VS2008的开发IDE中添加.NET Reflector顶层菜单和右键菜单。

注意:一旦安装好该插件后,不能对Reflector程序的位置进行移动,否则启动VS.net开发环境,会提示插件已移除,并要求重新进行配置。

二.创建DLL Demo程序

用VS2008创建一个非常简单的DLL,其代码如下:

namespace DLLDemo

{

public class Test

{

public string SayHello(string name)

{

string message = "Hello," + name;

return message;

}

}

}

三.反编译DLL Demo代码,并开始断点调试

  1. 创建新的调用程序工程(ReflectorTest.sln),然后选择菜单.NET Reflector->Choose Assemblies to Debug, 出现选择程序集的对话框,默认出现当前加载的.NET framework的命名空间,取消选择全部,因为本试验不想断点调试framework中的代码。点击左下方的Browser按钮,浏览到步骤2开发的DLL:DLLDemo.dll,.NET Reflector将自动开始反编译,结束后如果再次打开选择程序集的对话框,我们选择的DLLDemo.DLL出现在列表中,且为选择状态,如下图所示:
  1. 在新创建的工程中,添加步骤2开发的DLL引用,添加如下代码:

namespace ReflectorTest

{

class Program

{

static void Main(string[] args)

{

DLLDemo.Test test = new DLLDemo.Test();

string message=test.SayHello("Roger");

Console.WriteLine(message);

Console.ReadLine();

}

}

}

  1. 在上述string message=test.SayHello("Roger");设置断点,运行程序,当运行此行代码中,按下F11,单步调试即可进入DLLDemo的反编译代码。仔细观察一下IDE中Test类代码页的上方是只读的,即是反编译代码。

后记:

  1. VS.net的.Net Reflector插件最新版本是需要激活的,可以采用软件RedGate.Licensing.exe最新版本进行激活,下载地址为http://yww.qsh.eu/post/2010/03/29/RedGateLicensingexe.aspx,需要注意的是,在激活软件前需要先点击RedGate.Licensing.exe软件最下方的安装,然后将激活码填写到VS.net中的Red Gate’s .Net Reflector激活窗口中,在激活过程中,确保RedGate.Licensing.exe为打开状态。
  2. Red Gate’s .Net Reflector还有很多的插件可以使用,具体可参考如下网址:http://reflectoraddins.codeplex.com/

转载于:https://www.cnblogs.com/b400800/p/4108088.html

采用Reflector的VS.net插件断点调试无源码DLL 分类:相关推荐

  1. Windows系统Android Studio断点调试Android源码

    之前我都是在Windows环境下开发Android.调试代码的时候有时候要进到系统类中去断点调试代码,经常断点断不到,或者就跑飞了. 最近因为在研究一些源码,比如LayoutInflater.infl ...

  2. VS Code 安装 Go 插件、自定义扩展配置、断点调试

    1. 安装插件 使用快捷键 Ctrl+Shift+X 打开插件安装页面,安装 Go 插件. 2. 自定义扩展配置 使用快捷键 Ctrl+, 打开自定义配置页,编辑 settings.json ,定义与 ...

  3. Vue中进行断点调试的两种方式(使用外部浏览器和VsCode的 Debug for Chrome插件)

    场景 在使用IDEA等进行后台开发时可以直接在想要进行断点调试的地方双击添加一个断点,然后逐步或者逐过程进行调试. 但是在Vue中如果想要进行调试时,如果是在js中调试的话,可以直接添加一个debug ...

  4. 又掌握了一项新技能 - 断点调试 Gradle 插件

    前言 最初开发Android应用程序的时候,肯定是在打log调试,然后慢慢地觉得打log效率太低下了,不能快速定位问题,于是走上了断点调试之路.Gradle插件也一样,从会写插件那一刻起到现在,一直用 ...

  5. IDEA2022版教程下(快键键总结、Debug断点调试总结、22版本idea创建各种工程、关联数据库、常用插件)

    8.快捷键的使用 8.1 常用快捷键 1 通用型(复制,黏贴,剪贴-) 说明 快捷键 复制代码-copy ctrl + c 粘贴-paste ctrl + v 剪切-cut ctrl + x 撤销-u ...

  6. IDEA全家桶式讲解 | IDEA安装、使用、断点调试、Git、插件 (第二篇)

    目录 一:JavaEE阶段需要掌握的IDEA技能 1. 配置Tomcat 2. 配置Maven 3. IDEA连接数据库 4. 方便的特殊功能 5. 断点调试(重点) 6. IDEA中常用Git协同开 ...

  7. Java Eclipse进行断点调试

    Java Eclipse进行断点调试 如何调试Java程序? 大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了. 下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试 ...

  8. clodeblocks debug断点调试_Intellij IDEA高阶DEBUG大杀器

    前言 目前工作中由于环境复杂等客观因素,无法在本地启动项目进行 Trouble Shooting,需要打开测试环境的 DEBUG 端口,进行远程调试.为了不影响其他用户同时使用测试环境以及相关系统的正 ...

  9. webuploader 怎么在react中_另辟蹊径搭建阅读React源码调试环境支持所有React版本细分文件断点调试...

    引言(为什么写这篇文章) 若要高效阅读和理解React源码,搭建调试环境是必不可少的一步.而常规方法:使用react.development.js和react-dom.development.js调试 ...

最新文章

  1. 20181029NOIP模拟赛T2
  2. angular1.0 $http jsonp callback
  3. 离职那天!同龄的CTO悄悄私信我,他的年薪是我的10倍
  4. lepus mysql 复制监控_MySQL数据库之CentOS搭建lepus3.8监控MySQL
  5. html折叠菜单列子,基于Vue.js+bootstrap4的左侧可伸缩式菜单
  6. 滴滴顺风车方案引争议,柳青:我也觉得对女性不太好用
  7. struts2基础梳理(二)
  8. Git bash的中文化支持
  9. NPS 服务器证书:配置模板和自动注册(一)
  10. git 怎么读_20 分钟教你搞懂 Git!
  11. Itil 故障管理流程关键知识
  12. AM335X-IO输入总是读不到输入电平——8
  13. 吊炸天的 JD-hotkey !京东开源!单机 QPS 高达 370000
  14. docker容器技术之虚拟化网络概述(四)
  15. 制作一个每日一图小工具
  16. itoa函数和atoi函数的实现和用法
  17. 如何将scr文件设置为屏保
  18. Y400电脑键帽扣下来和安装上去
  19. NOIP 2020 螺旋升天爆炸记
  20. [object HTMLDivElement] 创建dom报与 innerHTML appendChild使用

热门文章

  1. [草稿]尝试从 same.com 的视角观察简书的用户社交网络
  2. Kubernetes支持有状态服务的部署
  3. php-redis中文参考手册_zset
  4. linux终端 美化 git,linux终端美化oh-my-zsh
  5. 阿里服务器降温系统,双十一服务器靠“泡澡”降温?阿里看上了3M的这项“冷”科技...
  6. Doris之Bitmap 索引
  7. linux 内核部分崩溃,Linux 系统内核崩溃分析处理简介
  8. Tensorflow——Tensorflow的用途、安装、数据流图
  9. Linux基础——Linux 基本指令 ls 和 cd
  10. 人工智能目标检测模型总结(二)——目标检测two-stage模型汇总