# dnSpy/dnSpy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dnspy-dnspy).**

28,993 stars · 5,469 forks · C# · archived

## Links

- GitHub: https://github.com/dnSpy/dnSpy
- awesome-repositories: https://awesome-repositories.com/repository/dnspy-dnspy.md

## Description

dnSpy is a desktop application designed for the analysis, debugging, and modification of compiled .NET assemblies. It functions as an assembly analysis suite and decompiler, translating binary instruction streams back into readable source code to facilitate reverse engineering when original source files are unavailable.

The tool distinguishes itself through an integrated binary patching engine and metadata editor, which allow for the direct modification of executable logic and internal metadata tables. It supports in-process debugging instrumentation, enabling users to inject runtime hooks, set breakpoints, and inspect memory state within compiled binaries to troubleshoot application behavior.

Beyond core analysis and debugging, the platform provides an interactive scripting environment for automating repetitive tasks and manipulating assembly structures. It includes capabilities for abstract syntax tree manipulation and memory-mapped file inspection, allowing users to navigate between high-level code constructs and raw binary data.

## Tags

### Operating Systems & Systems Programming

- [Assembly Decompilers](https://awesome-repositories.com/f/operating-systems-systems-programming/assembly-decompilers.md) — Translates compiled binary files back into readable source code.
- [Decompilers](https://awesome-repositories.com/f/operating-systems-systems-programming/decompilers.md) — Translates binary instruction streams into high-level source code.
- [Reverse Engineering Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/reverse-engineering-tools.md) — Examines internal structure and logic of compiled software to understand functionality.
- [Assembly Analysis Suites](https://awesome-repositories.com/f/operating-systems-systems-programming/assembly-analysis-suites.md) — Provides a comprehensive toolkit for exploring internal organization of compiled software.
- [Binary Metadata Editors](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-metadata-editors.md) — Modifies internal structure and logic of compiled executable files.
- [Binary Modification Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-modification-tools.md) — Alters compiled application behavior by editing metadata or injecting code.
- [Binary Patching Utilities](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-patching-utilities.md) — Enables direct modification of compiled application logic by rewriting binary data.
- [Metadata Editors](https://awesome-repositories.com/f/operating-systems-systems-programming/metadata-editors.md) — Updates class and method structures by editing binary metadata tables. ([source](https://github.com/dnSpy/dnSpy/blob/master/README.md))
- [Abstract Syntax Tree Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/abstract-syntax-tree-tools.md) — Provides programmatic access to code structures for modification and analysis.

### Testing & Quality Assurance

- [Compiled Code Debuggers](https://awesome-repositories.com/f/testing-quality-assurance/compiled-code-debuggers.md) — Allows setting breakpoints and inspecting variables directly within compiled binaries. ([source](https://github.com/dnSpy/dnSpy/blob/master/README.md))
- [Interactive Debuggers](https://awesome-repositories.com/f/testing-quality-assurance/interactive-debuggers.md) — Allows pausing execution and inspecting variables within compiled binaries.
- [Binary Debugging Tools](https://awesome-repositories.com/f/testing-quality-assurance/binary-debugging-tools.md) — Troubleshoots application logic by inspecting binaries without source code.
- [Runtime Instrumentation](https://awesome-repositories.com/f/testing-quality-assurance/runtime-instrumentation.md) — Injects hooks into execution flows to intercept calls and inspect memory state.
