zoukankan      html  css  js  c++  java
  • .NET dnSpy 程序集编辑器,反编译器和调试器

    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指令,本地人,异常处理程序

    编辑IL1

    编辑IL2

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

    DEBUG1

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

    调试保存

    较小屏幕的优化

    更VERT空间

    多个选项卡和选项卡组

    制表组

    搜索程序集

    搜索

    装配分析仪

    分析仪

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

    HILITE的关键字

    HILITE,裁判

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

    结构可视化

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

    恶梦

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

    去到EP

    去到MD-令牌

    去到MD-表行

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

    提示

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

    bgimg1

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

    bgimg2

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

    出口到项目

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

    安慰

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

    脚本

    十六进制编辑器

    16进制软件

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

    MD-ED1

    MD-ED2

    想要贡献?

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

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

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

    翻译dnSpy

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

    维基

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

    执照

    dnSpy是根据GPLv3许可的

  • 相关阅读:
    addEventListener、onclick和jquery的bind()、click()
    JQuery的click、bind、delegate、off、unbind
    JS的Scope
    JS对象深入剖析
    IP查找所属网段
    C#类的成员初始化顺序
    C#操作XML的完整例子——XmlDocument篇
    【开发实例】C#调用SAPI实现语音合成的两种方法
    C#打包制作安装程序过程全记录
    C# 仿制QQ弹出新闻消息框
  • 原文地址:https://www.cnblogs.com/endv/p/6847115.html
Copyright © 2011-2022 走看看