Dnspy - .Net Debugger In Addition To Assembly Editor


dnSpy is a debugger too .NET assembly editor. You tin laissez passer on the axe purpose it to edit too debug assemblies fifty-fifty if you lot don't bring whatever source code available.
Want to nation thanks? Click the star at the occur of the page. Or fork dnSpy too mail a PR!
The next pictures demonstrate dnSpy inward action. It shows dnSpy editing too debugging a .NET EXE file, non source code.


Features
  • Debug .NET Framework, .NET Core too Unity game assemblies, no source code required
  • Edit assemblies inward C# or Visual Basic or IL, too edit all metadata
  • Light too nighttime themes
  • Extensible, write your ain extension
  • High DPI back upwards (per-monitor DPI aware)
  • And much more, run into below
dnSpy uses the ILSpy decompiler engine too the Roslyn (C# / Visual Basic) compiler too many other opened upwards source libraries, run into below for to a greater extent than info.

Debugger
  • Debug .NET Framework, .NET Core too Unity game assemblies, no source code required
  • Set breakpoints too footstep into whatever assembly
  • Locals, watch, autos windows
  • Variables windows supports saving variables (eg. decrypted byte arrays) to disk or sentiment them inward the hex editor (memory window)
  • Object IDs
  • Multiple processes tin laissez passer on the axe endure debugged at the same time
  • Break on module load
  • Tracepoints too conditional breakpoints
  • Export/import breakpoints too tracepoints
  • Call stack, threads, modules, processes windows
  • Break on thrown exceptions (1st chance)
  • Variables windows back upwards evaluating C# / Visual Basic expressions
  • Dynamic modules tin laissez passer on the axe endure debugged (but non dynamic methods due to CLR limitations)
  • Output window logs diverse debugging events, too it shows timestamps past times default :)
  • Assemblies that decrypt themselves at runtime tin laissez passer on the axe endure debugged, dnSpy volition purpose the in-memory image. You tin laissez passer on the axe also forcefulness dnSpy to ever purpose in-memory images instead of disk files.
  • Public API, you lot tin laissez passer on the axe write an extension or purpose the C# Interactive window to command the debugger

Assembly Editor
  • All metadata tin laissez passer on the axe endure edited
  • Edit methods too classes inward C# or Visual Basic amongst IntelliSense, no source code required
  • Add novel methods, classes or members inward C# or Visual Basic
  • IL editor for depression grade IL method trunk editing
  • Low grade metadata tables tin laissez passer on the axe endure edited. This uses the hex editor internally.

Hex Editor
  • Click on an address inward the decompiled code to larn to its IL code inward the hex editor
  • Reverse of above, press F12 inward an IL trunk inward the hex editor to larn to the decompiled code or other high grade representation of the bits. It's cracking to notice out which contention a spell modified.
  • Highlights .NET metadata structures too PE structures
  • Tooltips shows to a greater extent than information nearly the selected .NET metadata / PE field
  • Go to position, file, RVA
  • Go to .NET metadata token, method body, #Blob / #Strings / #US heap offset or #GUID heap index
  • Follow references (Ctrl+F12)

Other
  • BAML decompiler
  • Blue, lite too nighttime themes (and a nighttime high contrast theme)
  • Bookmarks
  • C# Interactive window tin laissez passer on the axe endure used to script dnSpy
  • Search assemblies for classes, methods, strings etc
  • Analyze cast too method usage, notice callers etc
  • Multiple tabs too tab groups
  • References are highlighted, purpose Tab / Shift+Tab to motion to side past times side reference
  • Go to entry signal too module initializer commands
  • Go to metadata token or metadata row commands
  • Code tooltips (C# too Visual Basic)
  • Export to project

List of other opened upwards source libraries used past times dnSpy
  • ILSpy decompiler engine (C# too Visual Basic decompilers)
  • Roslyn (C# too Visual Basic compilers)
  • dnlib (.NET metadata reader/writer which tin laissez passer on the axe also read obfuscated assemblies)
  • VS MEF (Faster MEF equals faster startup)
  • ClrMD (Access to lower grade debugging information non provided past times the CorDebug API)

Credits