A debugger and assembly editor for .NET and Unity applications, enabling editing and debugging without source code.
dnSpy is a debugger and assembly editor for .NET and Unity applications that enables developers to inspect, modify, and debug compiled assemblies without requiring the original source code. It combines decompilation, editing, and debugging features into a single tool, allowing for deep analysis and manipulation of .NET binaries. This makes it invaluable for reverse engineering, security research, and understanding or patching third-party software.
Developers, reverse engineers, and security researchers working with .NET Framework, .NET, or Unity applications who need to debug, analyze, or modify assemblies without source code access.
Developers choose dnSpy for its integrated approach to debugging and editing .NET assemblies, offering both high-level language editing with IntelliSense and low-level IL/hex editing capabilities. Its ability to handle Unity games and obfuscated assemblies, along with extensibility through a public API, sets it apart as a comprehensive, open-source alternative to commercial .NET reverse engineering tools.
.NET debugger and assembly editor
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines decompilation, debugging with breakpoints and step-through execution, and assembly editing in C# or Visual Basic with IntelliSense, all without source code, as shown in the animated GIFs and feature list.
Specifically supports debugging Unity assemblies with the dnSpy-Unity-mono extension, making it unique for game reverse engineering, as noted in the building instructions.
Offers a public API, extensions, and a C# Interactive window for automating tasks and customizing workflows, highlighted in the debugger and assembly editor sections.
Includes a hex editor with metadata highlighting, IL editing, and tools for searching assemblies, enabling precise binary patching and analysis, as described in the hex editor and other features.
Debugging Unity games requires an additional repository (dnSpy-Unity-mono) and setup, adding extra steps and complexity compared to standard .NET debugging, as admitted in the building section.
Lacks built-in features for remote debugging, version control integration, or team-based analysis, making it less suitable for distributed or collaborative workflows.
Exclusively supports .NET Framework, .NET, and Unity assemblies, so it is ineffective for analyzing binaries from other ecosystems like Java or C++.