dnSpy/dnSpy
GitHub: dnSpy/dnSpy
一款无需源码即可调试和编辑.NET程序集的逆向分析工具。
Stars: 29053 | Forks: 5477
# dnSpy - [最新版本](https://github.com/dnSpy/dnSpy/releases)
dnSpy 是一款调试器和 .NET 程序集编辑器。即使没有任何源代码,您也可以使用它来编辑和调试程序集。主要功能:
- 调试 .NET 和 Unity 程序集
- 编辑 .NET 和 Unity 程序集
- 亮色和暗色主题
查看下方了解更多功能


## 二进制文件
https://github.com/dnSpy/dnSpy/releases
## 构建
```
git clone --recursive https://github.com/dnSpy/dnSpy.git
cd dnSpy
# 或 dotnet build
./build.ps1 -NoMsbuild
```
要调试 Unity 游戏,你还需要此仓库:https://github.com/dnSpy/dnSpy-Unity-mono(或从 https://github.com/dnSpy/dnSpy/releases/unity 获取二进制文件)
# 调试器
- 调试 .NET Framework、.NET 和 Unity 游戏程序集,无需源代码
- 设置断点并单步进入任何程序集
- 局部变量、监视、自动窗口
- 变量窗口支持将变量(例如解密后的字节数组)保存到磁盘或在十六进制编辑器(内存窗口)中查看
- 对象 ID
- 可以同时调试多个进程
- 模块加载时中断
- 跟踪点和条件断点
- 导出/导入断点和跟踪点
- 调用堆栈、线程、模块、进程窗口
- 抛出异常时中断(第一轮异常)
- 变量窗口支持计算 C# / Visual Basic 表达式
- 可以调试动态模块(但由于 CLR 限制,不能调试动态方法)
- 输出窗口记录各种调试事件,默认显示时间戳 :)
- 可以调试在运行时自解密的程序集,dnSpy 将使用内存映像。您也可以强制 dnSpy 始终使用内存映像而不是磁盘文件。
- 公共 API,您可以编写扩展或使用 C# Interactive 窗口来控制调试器
# 程序集编辑器
- 所有元数据均可编辑
- 使用 C# 或 Visual Basic 编辑方法和类(支持 IntelliSense),无需源代码
- 使用 C# 或 Visual Basic 添加新方法、类或成员
- IL 编辑器,用于底层 IL 方法体编辑
- 可编辑底层元数据表。内部使用十六进制编辑器。
# 十六进制编辑器
- 点击反编译代码中的地址跳转到十六进制编辑器中的 IL 代码
- 反向操作:在十六进制编辑器的 IL 体中按 F12 跳转到反编译代码或其他高级表示。这对于找出补丁修改了哪条语句非常有用。
- 高亮 .NET 元数据结构和 PE 结构
- 工具提示显示有关所选 .NET 元数据 / PE 字段的更多信息
- 跳转到位置、文件、RVA
- 跳转到 .NET 元数据 Token、方法体、#Blob / #Strings / #US 堆偏移量或 #GUID 堆索引
- 跟踪引用 (Ctrl+F12)
# 其他
- BAML 反编译器
- 蓝色、亮色和暗色主题(以及高对比度暗色主题)
- 书签
- C# Interactive 窗口可用于编写 dnSpy 脚本
- 在程序集中搜索类、方法、字符串等
- 分析类和方法的使用情况,查找调用者等
- 多标签页和标签页组
- 高亮引用,使用 Tab / Shift+Tab 移动到下一个引用
- 转到入口点和模块初始化器命令
- 转到元数据 Token 或元数据行命令
- 代码工具提示 (C# 和 Visual Basic)
- 导出为项目
# dnSpy 使用的其他开源库列表
- [ILSpy 反编译引擎](https://github.com/icsharpcode/ILSpy)(C# 和 Visual Basic 反编译器)
- [Roslyn](https://github.com/dotnet/roslyn)(C# 和 Visual Basic 编译器)
- [dnlib](https://github.com/0xd4d/dnlib)(.NET 元数据读取器/写入器,也可读取混淆的程序集)
- [VS MEF](https://github.com/microsoft/vs-mef)(更快的 MEF 意味着更快的启动速度)
- [ClrMD](https://github.com/microsoft/clrmd)(访问 CorDebug API 未提供的底层调试信息)
- [Iced](https://github.com/0xd4d/iced)(x86/x64 反汇编器)
# 翻译 dnSpy
如果您想帮助将 dnSpy 翻译成您的母语,请[点击这里](https://crowdin.com/project/dnspy)。
# Wiki
有关构建说明和其他文档,请参阅 [Wiki](https://github.com/dnSpy/dnSpy/wiki)。
# 许可证
dnSpy 根据 [GPLv3](dnSpy/dnSpy/LicenseInfo/GPLv3.txt) 授权。
# [致谢](dnSpy/dnSpy/LicenseInfo/CREDITS.txt)
标签:Amass, dnSpy, DNS 反向解析, DNS 解析, Ruby on Rails, SEO, SNI设置, Unity游戏调试, URL提取, Visual Basic, 二进制分析, 云安全运维, 云资产清单, 代码编辑, 免源码调试, 内存转储, 反编译, 域名收集, 多人体追踪, 恶意代码分析, 数据集, 汇编编辑, 逆向工程, 配置文件