DnSpy 是一款开源专业的NET程序集反编译及调试工具,dnSpy,堪称.NET反编译神器。它是由ILSpy发展而来的免费开源的基于.NET语言的反编译与调试工具,用于实现.NET程序集逆向工程,可以对.NET开发的EXE和Dll程序集反编译为C#源码,支持断点调试和编辑C#代码,该项目包含反编译器,调试器、代码编辑器等功能,可以通过编写扩展插件的形式轻松实现功能扩展。该工具使用的dnlib读取和写入程序集,可以处理包含混淆代码的程序(如恶意程序)而不会崩溃。
主要功能
1、调试器
调试.NET Framework,.NET和Unity游戏程序集,无需源代码
设置断点并进入任何程序集
当地人,手表,汽车窗户
变量窗口支持将变量(例如,解密的字节数组)保存到磁盘或在十六进制编辑器中查看它们(内存窗口)
对象ID
可以同时调试多个进程
打破模块负荷
跟踪点和条件断点
导出/导入断点和跟踪点
调用堆栈,线程,模块,进程窗口
打破引发的异常(第一次机会)
变量窗口支持评估C#/ Visual Basic表达式
可以调试动态模块(由于CLR限制,不能调试动态方法)
输出窗口记录各种调试事件,默认情况下显示时间戳:)
可以调试在运行时自行解密的程序集,dnSpy将使用内存映像。您还可以强制dnSpy始终使用内存映像而不是磁盘文件。
公共API,您可以编写扩展名或使用C#Interactive窗口来控制调试器
2、装配编辑
所有元数据都可以编辑
使用IntelliSense编辑C#或Visual Basic中的方法和类,无需源代码
在C#或Visual Basic中添加新的方法,类或成员
IL编辑器,用于低级IL方法主体编辑
可以编辑低级元数据表。这在内部使用十六进制编辑器。
3、十六进制编辑器
单击反编译代码中的地址以在十六进制编辑器中转到其IL代码
与上述操作相反,在十六进制编辑器的IL主体中按F12键以转到反编译的代码或其他高级位表示。找出修补程序修改了哪个语句真是太好了。
重点介绍.NET元数据结构和PE结构
工具提示显示有关所选.NET元数据/ PE字段的更多信息
转到位置,文件,RVA
转到.NET元数据令牌,方法主体,#Blob / #Strings / #US堆偏移量或#GUID堆索引
遵循参考(Ctrl + F12)
4、其他
BAML反编译器
蓝色,浅色和深色主题(以及深色高对比度主题)
书签
C#交互式窗口可用于编写dnSpy脚本
在程序集中搜索类,方法,字符串等
分析类和方法的用法,查找调用者等
多个标签和标签组
引用突出显示,使用Tab / Shift + Tab移至下一个引用
转到入口点和模块初始化程序命令
转到元数据令牌或元数据行命令
代码工具提示(C#和Visual Basic)
导出到项目
https://github.com/dnSpy/dnSpy/
https://github.com/dnSpy/dnSpy/releases
运行要求
dnSpy NET版本,需要 .NET Framework 4.7.2 或更高版。
dnSpy Core版本,不依赖于 .NET Framework 框架组件
Windows 7 操作系统必须安装KB2999226, KB2533623
下载地址
城通网盘(此盘不建议使用):https://u062.com/dir/22064395-41689928-8f0693
Github:https://github.com/dnSpy/dnSpy/releases/download/v6.1.8/dnSpy-net-win32.zip
Github:https://github.com/dnSpy/dnSpy/releases/download/v6.1.8/dnSpy-net-win64.zip
https://g.ioiox.com/https://github.com/dnSpy/dnSpy/releases/download/v6.1.8/dnSpy-net-win64.zip
https://git.yumenaka.net/https://github.com/dnSpy/dnSpy/releases/download/v6.1.8/dnSpy-net-win64.zip
https://g.ioiox.com/https://github.com/dnSpy/dnSpy/releases/download/v6.1.8/dnSpy-net-win32.zip
https://git.yumenaka.net/https://github.com/dnSpy/dnSpy/releases/download/v6.1.8/dnSpy-net-win32.zip