https://github.com/0xd4d/dnSpy

https://github.com/0xd4d/dnSpy/releases/

dnSpy是反向工程.NET程序集的工具。它包括一个反编译器,一个调试器和一个程序集编辑器(和更多),可以通过编写自己的扩展名来轻松地扩展。它使用dnlib来读取和写入程序集,因此它可以处理混淆的程序集(例如恶意软件)而不会崩溃。

二进制

最新发布

最新版本: 

或者从源代码构建,请参阅Wiki。

特征

  • 开源(GPLv3)和免费永远(:TM :)
  • 装配编辑器
    • 使用C#或Visual Basic编辑任何方法,属性和事件
    • 代码编辑器具有IntelliSense(代码完成,签名帮助,快速信息)
    • 可以通过添加C#和Visual Basic代码将整个类添加到程序集中
    • 编辑类型(类),方法,属性,事件和字段的所有元数据
    • 添加,删除,重命名任何类型(类),方法,属性,事件,字段
    • 编辑,添加,删除.NET资源并将其保存到磁盘
    • IL编辑器允许在IL级编辑方法体:IL指令,本地人,异常处理程序
  • 调试器
    • 调试任何.NET程序集,不需要源代码
    • 在任何程序集中设置断点,包括框架程序集,GAC中的程序集和只存在于内存中的程序集
    • 内存窗口
    • 输出窗口
    • 附加到进程
    • 当地人的窗口
      • 本地人的原始内容(例如解密的字节数组)可以保存到磁盘
    • 调用堆栈窗口
    • 线程窗口
    • 模块窗口
      • 模块(例如,解密的内存模块)可以保存到磁盘
    • 异常设置
    • 可以调试动态程序集
    • 支持调试CoreCLR程序集
  • 解码到C#,Visual Basic,IL
  • 主题:蓝色,黑暗,浅色(和高对比度)
  • 支持较小的屏幕(例如笔记本电脑)
    • 线高可以针对较小的屏幕进行优化

      • 空白和非字母数字线是正常高度的75%
      • 行之间没有额外的间距(每行保存1个垂直像素)
    • 菜单和工具栏共享同一行
    • 全屏模式(Shift + Alt + Enter)保存一些垂直像素
  • 高DPI支持和每个监视DPI感知
  • 翻译成几种语言
  • 高度可扩展
    • 编写自己的扩展名并添加自己的功能
    • 所有主要功能都已经是扩展(程序集编辑器,调试器,反编译器)
  • 多个选项卡和选项卡组
    • 你的屏幕太大了?不要把它削减一半,添加另一个垂直的标签组,一次读两个类!
    • 文本编辑器中的选项卡和位置在您关闭dnSpy并在启动时恢复时保存,以便您可以继续停止
  • 搜索程序集
    • 搜索类型(类),方法,属性,事件和字段
    • 在代码中搜索字符串或数字
  • 装配分析仪
    • 查找类型(类),方法,属性,事件和字段的用法
  • BAML到XAML反编译器
  • 快速
  • 突出显示的引用,关键字
    • 突出显示插入符号下的引用,以便在代码中更容易查看引用的所有用途
    • 标签,Shift + Tab,Ctrl + Shift +向上,Ctrl + Shift +向下移动到下一个或上一个引用
    • Alt + Down和Alt + Up移至下一个或以前的定义(类型(类),方法,属性,事件,字段)
  • 结构可视化
    • 在代码块的开始和结束之间显示的垂直引导线
    • 不同的颜色用于不同的块,例如。循环,条件,方法等
  • dnlib用于读取和写入程序集,因此可以处理混淆的代码(例如恶意软件)而不会崩溃
  • 转到命令:
    • 入口点
    • 汇编静态初始化方法(<Module> .. cctor)
    • 任何元数据令牌
    • 任何元数据行
  • 将鼠标悬停在类型(类),方法,属性,事件,字段上时,语法突出显示带有XML文档注释的工具提示
  • 方法,属性和事件以源代码顺序或自定义用户定义的顺序进行反编译
    • 源代码顺序意味着相关方法通常彼此相邻,就像程序员想要的一样
  • 背景图像可以在文本编辑器中显示
  • 导出到项目反编译所有选定的程序集并创建一个Visual Studio解决方案
    • 可以同时导出多个程序集
    • 创建Visual Studio解决方案(支持VS2005 - VS-latest)和项目文件
    • 支持WinForms和WPF类(创建代码隐藏的.cs / .vb文件和WinForms .resx / WPF .xaml文件)
    • 将.NET资源转换为.resx文件
  • 从GAC开放
  • 命令行反编译器
    • 支持Windows,Linux和Mac
    • 语法高亮输出到屏幕
  • 使用C#REPL编写脚本
    • 从脚本调用公共dnSpy方法
    • 脚本调试器和其他扩展
  • 十六进制编辑器
  • 方法令牌和地址显示在注释中,可以单击以转到原始元数据或IL字节
  • 元数据编辑器
  • Collapse Assembly Explorer节点命令快速折叠未使用的节点
  • 和更多...

图片时间!

在C#或Visual Basic中编辑任何方法,属性或事件

编辑任何类型(类),方法,属性,事件,字段

添加,删除,重命名任何类型(类),方法,属性,事件,字段

编辑,添加,删除.NET资源并将其保存到磁盘

IL编辑器允许在IL级编辑方法体:IL指令,本地人,异常处理程序

调试任何.NET程序集,不需要源代码

当地人的原始内容(例如解密的字节数组)可以保存到磁盘

较小屏幕的优化

多个选项卡和选项卡组

搜索程序集

装配分析仪

突出显示的引用,关键字,使用Tab,Shift + Tab,Ctrl + Shift +向上,Ctrl + Shift +向下选择下一个或上一个参考或Alt + Up / Down进行下一个定义

结构可视化器在花括号之间添加着色垂直导向线; 循环,try / catch和条件块以不同的颜色显示

当您使用这样的方法时,结构可视化程序非常有用:

转到:入口点,模块初始化程序,MD令牌,MD表行

将鼠标悬停在类型(类),方法,属性,事件,字段上时,语法突出显示带有XML文档注释的工具提示

背景图像可以在文本编辑器中显示

相同的图像与左边距和上边距设置为75%

导出到项目反编译所有选定的程序集并创建一个Visual Studio解决方案

命令行反编译器,支持Windows,Linux,Mac

使用C#REPL 编写脚本,可以使用调试器和其他扩展来控制C#

十六进制编辑器

元数据编辑器,单击令牌或按Ctrl + Shift + D

想要贡献?

检查问题的开放性问题,特别是对于抓取标签的问题,因为它们应该更容易开始。

如果您发送PR,请尝试使用与正在编辑的当前项目相同的编码风格。这是一个简短的列表:

  • 标准C#编码约定除了:
  • 标签,大小= 4
  • 打开花括号({)始终与ifwhile/ method-signature 在同一行
  • 使用var的大部分时间,除了基本类型,你可以使用原始类型(如int),而不是var
  • 只用'这个'。如果需要

翻译dnSpy

如果您想帮助将dnSpy翻译成您的母语,请点击此处。

维基

有关构建说明和其他文档,请参阅Wiki。

执照

dnSpy是根据GPLv3许可的。

转载于:https://www.cnblogs.com/endv/p/6847115.html

.NET dnSpy 程序集编辑器,反编译器和调试器相关推荐

  1. 看完这篇带你完全理清IDE、编辑器、编译器、解释器和调试器的概念

    IDE.编辑器.编译器.解释器与调试器 写在前面 IDE 编辑器 编译器 解释器 调试器 编译器和解释器的区别和优缺点 编译器和调试器的区别 写在前面 对于这些概念,简单记录一下自己的理解,如果有不对 ...

  2. linux静态反汇编工具,27款反汇编/调试器/静态和动态分析工具

    原标题:27款反汇编/调试器/静态和动态分析工具 本文从github上收集了27款实用的反汇编.调试器.静态和动态分析工具,文中的工具在<Awesome Windows Exploitation ...

  3. Linux系列学习(二) - Vim编辑器的介绍及使用、文件编译的过程、Makefile工具、Gdb调试器

    目录 引言: 基本命令补充: cat命令: man命令: head命令: tail命令: find命令: grep命令: ​​​​​​​grep命令与管道"|" 的结合使用: ta ...

  4. Day 3 Linux(目录篇 、文件操作篇 、压缩解压相关命令, 编辑器vi 、编译器gcc 、调试器gdb、 makefile工程管理器初学)

    一.目录篇: 1.文件处理命令:cp 英文原意:copy 语法:cp -rp[源文件或目录][目的目录] 源文件可以同时是多个,即同时复制到多个文件 -r 复制目录 -p保留文件属性,比如文件创建时间 ...

  5. Linux开发工具--(编辑器,编译器,调试器)

    1.Linux有哪些编辑命令及其优缺点? vi: vi编辑器是Linux最基本的功能强大的文本编辑器,工作在字符模式下,不需要图形界面,没有菜单,只有命令,且命令繁多,但在系统和服务器管理中的功能很强 ...

  6. lua调试器与编辑器开源项目luacode(源自decoda)

    目前项目开发一直是用decoda进行调试,使用sublime编辑,本没有太大问题,都用了大半年. 一直都比较忙,这段时间有空在decoda的源码基础上进行修改,就是想将调试器与编辑器融合起来,改成我期 ...

  7. Eclipse 调试器(引用IT168)

    Eclipse 调试器:零距离接触实战技巧 2011年11月25日01:29IT168 字号:T|T 调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码.Eclipse调试器的目标是让程序员能 ...

  8. 跨平台PHP调试器设计及使用方法——立项

    作为一个闲不住且希望一直能挑战自己的人,我总是在琢磨能做点什么.自从今年初开始接触PHP,我也总想能在这个领域内产生点贡献.那能做点什么呢?我经常看到很多phper说自己设计了一个什么框架,或者说自己 ...

  9. 优秀开发者必备技能包:Python调试器

    作者 | Roky0429 来源  | Python空间(ID:Devtogether) 人工智能的现状及今后发展趋势如何?  https://edu.csdn.net/topic/ai30?utm_ ...

最新文章

  1. tp5更新某字段加1_爱可生详解MySQL 8.0:索引特性1-函数索引
  2. 免费教材丨第47期:业界大牛中文教学视频《深度学习:进阶》第21-24讲
  3. 【Windows工具】BBDown.exe B站视频下载工具详细使用说明(https://github.com/nilaoda/BBDown)
  4. .NET CORE(C#) WPF 抽屉式菜单
  5. react(97)--分支切换
  6. pandas打开csv表格表头错位问题解决
  7. Kafka监控:Kafka-Manager
  8. Java基本语法-----java标识符
  9. mysql常用命令添加外键主键约束存储过程索引
  10. 【转】博客美化(6)为你的博文自动添加目录
  11. ASP.NET MVC 3 Beta初体验之WebGrid
  12. Java HTTP 代理服务器
  13. JAVA 获取文件指纹
  14. MySQL的数据类型(三)
  15. IntelliJ IDEA 2016.2 注册破解激活教程
  16. 给不给你升职,领导关心的是什么?
  17. IcoFX v3.6.0 ICO图标制作工具中文便携版
  18. ArrayList集合类实现的RandomAccess空接口有何用?
  19. Excel将多行文本合并一行:phonetic函数
  20. Ubuntu Snap商店代理设置方法

热门文章

  1. 服务器里的文件链接地址怎么写,服务器里的文件链接地址怎么写
  2. jsp action java_jsp中Action使用session方法实例分析
  3. java pdf分页显示,java读取pdf(可分页读取)
  4. 完整的微服务系统应该包括哪些功能?
  5. 什么是运营?与产品的关系是怎样的?
  6. 开课吧Java课堂:什么是主线程?如何去运用?
  7. Java基础篇:类的通用格式
  8. spring boot (二) web swagger2
  9. QTP自动化测试从零基础到精通进阶(脚本测试、VBS语法、描述性编程、测试框架)...
  10. 小博老师精选Java十大CMS ——建站神器