Exetools

Exetools (https://forum.exetools.com/index.php)
-   Community Tools (https://forum.exetools.com/forumdisplay.php?f=47)
-   -   dnSpy - .NET assembly editor, debugger, decompiler (https://forum.exetools.com/showthread.php?t=16912)

beBoss 02-23-2019 12:45

v6.0.3
Code:

dnSpy-net472.zip requires .NET Framework 4.7.2 or later.

dnSpy-netcore-win32.zip and dnSpy-netcore-win64.zip don't depend on .NET Framework,
but use .NET Core instead which is included in the zip files.
If dnSpy.exe fails to start, try:

Install VC dependencies:
https://support.microsoft.com/help/2977003/the-latest-supported-visual-c-downloads

Windows 7: Must have KB2533623 installed

dnSpy-net472.zip - 21 MB
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/dnSpy-net472.zip
dnSpy-netcore-win32.zip - 55.4 MB
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/dnSpy-netcore-win32.zip
dnSpy-netcore-win64.zip - 58.8 MB
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/dnSpy-netcore-win64.zip
Unity-debugging-2017.x.zip - 115 MB
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/Unity-debugging-2017.x.zip
Unity-debugging-2018.x.zip - 95.5 MB
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/Unity-debugging-2018.x.zip
Unity-debugging-4.x.zip - 66.2 MB
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/Unity-debugging-4.x.zip
Unity-debugging-5.x.zip - 93.6 MB
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/Unity-debugging-5.x.zip
Source code (zip)
Code:

https://github.com/0xd4d/dnSpy/archive/v6.0.3.zip
Source code (tar.gz)
Code:

https://github.com/0xd4d/dnSpy/archive/v6.0.3.tar.gz

WhoCares 02-25-2019 11:28

just awful

TheDutchJewel 11-20-2019 15:42

dnSpy v6.1.0
2019-11-18

Notes
Quote:

- dnSpy-net472.zip requires .NET Framework 4.7.2 or later.
- dnSpy-netcore-win32.zip and dnSpy-netcore-win64.zip don't depend on .NET Framework, but use .NET Core instead which is included in the zip files.
  If dnSpy.exe fails to start, try:
  - Install VC dependencies: https://support.microsoft.com/help/2977003/the-latest-supported-visual-c-downloads
  - Windows 7: Must have KB2999226 and KB2533623 installed
Download:
Code:

https://github.com/0xd4d/dnSpy/releases/latest
- Standalone:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/dnSpy-net472.zip
- Standalone with .NET Core x86:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/dnSpy-netcore-win32.zip
- Standalone with .NET Core x64:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/dnSpy-netcore-win64.zip
- Unity v2017.x debug engine:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/Unity-debugging-2017.x.zip
- Unity v2018.x debug engine:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/Unity-debugging-2018.x.zip
- Unity v2019.x debug engine:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/Unity-debugging-2019.x.zip
- Unity v4.x debug engine:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/Unity-debugging-4.x.zip
- Unity v5.x debug engine:
Code:

https://github.com/0xd4d/dnSpy/releases/download/v6.1.0/Unity-debugging-5.x.zip

hp3 11-24-2019 03:31

compare
 
hi
in dnspy possible compare 2 exe or dll files ?
i use export project but need know this version can do this direct in dnspy

thank you

niculaita 12-24-2019 07:11

6.6.1 version
https://github.com/0xd4d/dnSpy/releases/tag/v6.1.1

WRP 12-24-2019 13:46

Question from dummy . I can’t use dnSpy on Windows 10 LTSB because I can’t install
.NET 4.7.2 on this OS.
How solve this problem?

sendersu 12-25-2019 06:24

Whats the error you get?

FoxB 12-25-2019 10:23

Why not use netCore package?

WRP 12-25-2019 14:18

Quote:

Originally Posted by sendersu (Post 118973)
Whats the error you get?


I can’t install .NET 4.7.2 on this version Windows 10.

ionioni 12-26-2019 02:08

tried the dism way? adding .net 4.8 on same LTSB(1607) x64
Code:

dism /online /Add-Package /PackagePath:windows10.0-kb4486129-x64.cab
what error you get? whenever I couldn't add a new package to windows was because I did it on a ntlited (or similar) install that was missing some (removed) things...
or as FoxB suggested, just use the netcore package

DARKER 06-18-2021 18:22

dnSpy v6.1.9, released 2021-06-14

As you know official repository is archived by the owner (read-only state):
Code:

https://github.com/dnSpy/dnSpy
There is new continue - dnSpyEx based on original source:

Changelog:
  • Several updates to NRefactory resulting in cleaner output code for the C# language
  • Improved the IL disassembler/decompiler. More information is now displayed.
  • Improved BAML decompiler with latest changes from ILSpy repository.
  • Updated ICSharpCode.TreeView to the latest version
  • Dragging tree view items near the top and bottom will scroll the tree view
  • Improved assembly resolution for .NET Core and .NET 5
  • Improved asynchronous method decompilation

Download and more info:
Code:

https://github.com/dnSpyEx/dnSpy/releases

Kurapica 11-03-2021 15:36

anybody srill has the Unity Mono dlls ?

unity-debugging-2019.x.zip
unity-debugging-2018.x.zip

looks like they were all removed from the website.

atom0s 11-03-2021 16:30

The source repos are still available:

Original: https://github.com/dnSpy/dnSpy-Unity-mono
dnSpyEx : https://github.com/dnSpyEx/dnSpy-Unity-mono

Some custom builds others have posted:

- https://github.com/wh0am15533/Patched-Unity-Mono/tree/main/CustomBuilds
- https://github.com/liesauer/Unity-debugging-dlls/releases

Kurapica 11-03-2021 17:41

Thanks man, really helpful.

klvgen 11-04-2021 00:16

Sweet to see it active again, no idea why original dnSpy was archived? Apparently author's twitter got blocked too.

val2032 01-07-2022 05:44

Pay attention to the web address below

Code:

hxxps://www.dnspy.net
Don't run the releases from this page!

The file dnspy.dll is modified and it contains MSHTA.exe exploit. It creates many entries in Task Scheduler (see Microsoft/Windows/Directx)! It will stop Windows Defender and will try to download and run exe files from 4api(dot)net (possible crypto miners).

Kaspersky reports dnspy.net as safe website !

val2032 01-09-2022 07:53

I supose he is the same person who modified IDA...

I just found the article below:
Code:

hxxps://www.bleepingcomputer.com/news/security/trojanized-dnspy-app-drops-malware-cocktail-on-researchers-devs/amp/

CrackDJ 02-16-2022 06:03

This is the best tool for .net reversing in my opnion, thank you guys!

zionoobie 02-18-2022 19:09

Quote:

Originally Posted by CrackDJ (Post 124809)
This is the best tool for .net reversing in my opnion, thank you guys!

The same for me :cool:

foosaa 03-27-2022 14:20

It is really sad to see that dnSpy and De4Dot programs have been archived and unmaintained for years.

They are slowly starting to struggle with the newer protections and dnspy still works because of the core reflection methodology, but de4dot has not be updated for 10+ years.

Wish I had more time to update it to support most widely available .NET obfuscators.

I have a couple of questions.

If I can get some answers, it will be helpful to build something around that for updating de4dot application.

Please list the most commonly used .NET obfuscators. Recently I'm encountering some heavily obfuscated .NET assemblies and it is taking a lot of time to understand the flow.

I'm not looking at cracking or patching or keygenning, but I'm trying to understand certain implementation to uncover security issues in such packed applications.

Because of the protections and obfuscation, it is taking a lot of time to uncover the flow and identify the control branching and variables.

Please list the most commonly used .NET assembly obfuscators (which mostly work after the release / debug compilation and directly on .DLL and .EXE files).

Thank you so much.

atom0s 03-28-2022 08:46

dnSpy is still continued by community members here:
Code:

https://github.com/dnSpyEx
I'd recommend checking out ILSpy as well now, it has been heavily updated since dnSpy came into existence. ILSpy's decompiler is, in my opinion, much better than dnSpy's currently as well. (dnSpy still has other features ILSpy doesn't have like a debugger etc. though.)

atom0s 03-28-2022 09:43

Quote:

Please list the most commonly used .NET obfuscators. Recently I'm encountering some heavily obfuscated .NET assemblies and it is taking a lot of time to understand the flow.
There's a fairly large list of them here: https://github.com/NotPrab/.NET-Obfuscator

There's a ton of custom forks of Confuser/ConfuserEx that have different names too, but most of the newer tools are all based on ConfuserEx for the most part.
Some others can be found via Google easily too.

sendersu 04-02-2022 02:03

Quote:

Originally Posted by atom0s (Post 125066)
dnSpy is still continued by community members here:
Code:

https://github.com/dnSpyEx
I'd recommend checking out ILSpy as well now, it has been heavily updated since dnSpy came into existence. ILSpy's decompiler is, in my opinion, much better than dnSpy's currently as well. (dnSpy still has other features ILSpy doesn't have like a debugger etc. though.)

dnSpy .net decompiler is based on VERY old ILSpy engine... it is worse by an order of magniute comparing to ILSpy v7/8.x

but dnSpy has the super unique feature - .net debugger...
which is also started to be bad showing "Internal debugger error" in local tabs...

DARKER 06-15-2022 14:59

v6.2.0, released 2022-06-14

As of today, one full year has passed since the v6.1.9 release and I'm proud to announce that the v6.2.0 update is finally ready for release.

New features:
  • dnSpy now runs under .NET 6 and .NET Framework 4.8.
  • Move to VS2022 icons for UI and exe files (by @InKahootz and @SychicBoy)
  • Support for tilt/horizontal scrolling in the UI.
  • Added support for editing custom attributes on module resources.
  • Added support for modifying the Log2Rid value when saving the module.
  • Add support for ARM64 target architecture in the assembly editor.
  • Add an enum for PE Magic field in the PE editor (by @riQQ)
  • Show debugged process's name in the title bar (by @InKahootz)
  • Add support for writing VS2022 compatible .sln files.
  • Added back the Save Code, Save BAML, and Save XAML options in the File context menu which save the contents of the currently open document tab.
  • Debugger:
    • Display a warning message before starting to debug a target file with a different bitness than the current dnSpy version running.
    • Add a new option that allows to automatically break on <Module>::.cctor when starting to debug.
    • Display the exception's HResult property when an unhandled exception is hit.
  • ILSpy decompiler:
    • Added jump to reference support for jmp() expressions created when the jmp CIL opcode is present.
    • CIL disassembler now includes information about generic parameter attributes and constraints.
    • Add more information to the output when disassembling the module node when using the CIL disassembler.
    • The decompiler now splits up long method call chains using a new line.
    • Generate debug info for yield break; statements.

Improvements and bug fixes:

  • Fix the .NET 6 console executable having the incorrect subsystem set in the PE options resulting in a crash.
  • Fixed escaping of namespaces in tooltips.
  • Fixed syntax highlighting for structs in tooltips.
  • Improved RVA <-> FileOffset conversions in PE editor to fix a crash with invalid values being passed in.
  • Improved assembly resolution for .NET Standard, .NET Core, .NET 5, .NET 6.
  • dnSpy now reads assembly resolution probe paths from .config files.
  • Read probe paths from .config files when searching for satellite assemblies during project export.
  • Fixed incorrect label in the Save Module dialog.
  • Add support for searching by full name (by @mobile46).
  • Optimized search module by reducing memory allocations.
  • Improvements to GitHub Actions workflow (by @Gorialis).
  • Use .NET Standard instead of .NET Framework for Roslyn projects fixing #84 (by @mobile46).
  • ILSpy Decompiler
    • Optimized the variable naming step in the decompiler by reducing memory allocations.
    • Improved insertion of checked() blocks.
    • Improved decompilation of query expressions.
    • Prevent delegate construction decompilation from crashing the entire decompiler if it failed.
    • Improved analysis for unsafe modifier.
    • Ignore invalid prefixes when constructing the ILAst. This prevents a common method used to crash the decompiler from working.
    • Many improvements and fixes to the async method decompilation logic.
    • Optimized the removal of dead nop instructions when building the ILAst. This deficiency was a known method to crash dnSpy's decompiler by filling a method body with huge amounts of useless code.
    • Fixed a rare case where field initializers would not be detected properly.
    • Fixed a rarely occurring bug that resulted in incorrect ILAst being built.
    • Optimized construction of ILAst by calculating the stack behavior of instruction only once and by caching the result of MethodDef.HasReturnType.
    • Improved required parenthesis analysis.
    • Fixed decompiler creating incorrect checked regions for some post increments.
  • Debugger:
    • Fixed a bug that caused the infamous ??? exception to occur when debugging.
    • Improved debugging support for newer mono runtimes.
    • Fixed a crash that occurred in the .NET Framework version of dnSpy when a module loaded into memory during debugging would contain an invalid file path resulting in a crash.
  • BAML decompiler
    • Resolve namespaces of properties.
    • Fix Name attribute for properties incorrect in rare circumstances.
    • Fix missing x:Static and x:Type (by @wwh1004)
Dependency updates:
  • Updated dnlib to 3.5.0
  • Updated Iced to 1.17.0
  • Roslyn compiler to 4.1.0
  • Ookii.Dialogs.Wpf to 5.0.1
  • VS MEF to 16.9.20
  • ILSpy to 2.4
  • Mono.Debugger.Soft was updated to the latest commit.

Note to extension developers: Please recompile your extensions for this version of dnSpyEx! Many dependencies have been updated and some of them have gone through API changes, for example, Iced.

Download and more info:
Code:

https://github.com/dnSpyEx/dnSpy/releases/tag/v6.2.0

TheDutchJewel 01-21-2023 15:59

dnSpy v6.3.0
2023-01-20

Changelog
Quote:

dnSpyEx 6.3.0 brings many improvements to the already existing components in dnSpy as well as features an improved search component. Many bugs and issues caused by obfuscated or malformed binaries have been fixed. The debugger received quite a lot of improvements for both the CorDebug and Mono APIs to improve the debugging experience. The decompiler has also received quite a few changes to help fix crashes and incorrect decompiled code. This update is recommended for all users of dnSpy and dnSpyEx!

New features:
• Improved Search tool window
  ○ Display member types in search results (return types, parameter types, etc.) to make it easier to locate the right member.
  ○ Tooltips on search results now contain more information, including full member signatures. If the result is located in a method body, the appropriate instruction is also included in the tooltip.
  ○ Literal and enum fields are now included in search results when searching for a constant.
  ○ Improved analysis of custom attributes. Previously arrays in custom attributes or boxed custom attributes were not searched, now they are.
  ○ Added an option to disable searching compiler-generated members.
  ○ Added support for searching DateTime resources when searching for constants.
  ○ Reduced heap allocations that occurred during the search process.
  ○ Include properties with literal constants in search results when searching for constants.
  ○ Refresh search results when a member was modified or deleted.
• Added a command under the File menu to close all framework and system assemblies (by @mitchcapper).
• Added a new context menu command for methods to replace their body with one which returns a default value and initializes all out parameters.
• Added support for exporting projects in the new SDK format in the form of a toggle in the project export dialog.
• Added additional toggles to the metadata writer options screen.
• Added support for .NET 7 assembly resolution.
• Added Vietnamese translations.
• Added an update checker to the About screen.
• Added support for displaying structure information for V1 multifile resources in the hex viewer.
• ILSpy decompiler:
  ○ Add an option to the decompiler settings to decompile calli instructions to invocation expressions. (co-authored by @cnsheds)
  ○ Add MethodCodeType field to [MethodImplOptions] attribute if necessary
• Debugger:
  ○ Add a new Static Fields tool window which displays and allows editing of values of all static fields available in the current context.
  ○ Add support for GetObjectValueAtAddress Roslyn expression compiler intrinsic. It is now possible to enter expressions like @0x12345678 to retrieve an object at a specific memory address. Due to debugger API limitations, this is only available when utilizing the CorDebug API (.NET Framework, .NET Core, .NET 5/6/7/etc.)
  ○ CorDebug:
    ■ Add support for Just My Code debugging including an option to disable stepping into system modules and an option to avoid stepping into code outside the primary module.
  ○ Mono/Unity:
    ■ Mono debugger API version of the debuggee is now written to the Output window when debugging is initiated.
    ■ Add support for dereferencing pointers in the Locals, Watch, etc. tool windows when using newer Mono debugger API versions.

Improvements and bug fixes:
• Added more links to the Help menu.
• Added support for displaying special C# types like nint, nuint, and dynamic in tooltips. Tuple element names are now also included.
• Added support for loading XMLDoc for .NET Core framework assemblies.
• Extended XMLDoc parser and analyzer to support documentation files generated by the MSVC compiler.
• Properly display the __arglist method parameter across the dnSpy UI.
• Properly update MethodSemanticsAttributes in the AsmEditor component.
• Fixed various bugs in the EventFiredBy analyzer.
• Fixed some bugs relating to parsing custom attributes.
• Improved detection of member obsolescence when displaying tooltips.
• Added support for displaying init property accessors in tooltips.
• Fixed an analyzer crash caused by invalid type attributes generated by obfuscators.
• Fixed a jump to reference issue in the entry point comment added when decompiling a module node
• ILSpy decompiler:
  ○ Fixed array initializer detection for enum arrays where the enum was located in a different module.
  ○ Fixed syntax highlighting color for preprocessor directives.
  ○ Fixed and improved delegate construction detection (co-authored by @mobile46).
  ○ Fixed decompiler not removing unnecessary parameter names in anonymous functions leading to compiler errors.
  ○ Improve debug info generation for inlined finally methods in yield return state machines.
  ○ Improve performance and reduced heap allocations in the decompiler and IL disassembler.
  ○ Extended type analysis for switch, throw, and ckfinite OpCodes.
  ○ Fixed a crash that occurred when the HandlerStart property of an exception handler was null (by @mobile46).
  ○ Fixed setting incorrect brace annotations for switch case blocks.
  ○ Extended support for methods utilizing the __arglist parameter.
  ○ Improved jump-to-reference navigation in the IL disassembler.
  ○ Improved ambiguous type name analysis.
  ○ Fixed a missing space not being added before the new() generic parameter constraint.
  ○ Fixed a rare bug that occurred when decompiling obfuscated exception handler filter blocks.
  ○ Fixed incorrect placement of the [Optional] attribute on a parameter with a decimal constant.
  ○ Fixed a nasty indentation bug in the C# decompiler leading to broken indentation of long property/method call chains
  ○ Improved decompilation of nested generic types for obfuscated assemblies where the type name does not contain generic argument count
• Debugger:
  ○ Fix a potential exception when searching a dynamic module (by @mitchcapper).
  ○ Improved debugger evaluation correctness and accuracy.
  ○ Fix timing issues in debugger thread dispatchers.
  ○ Display a warning message when detaching the debugger will lead to process termination.
  ○ Fix Locals windows failing to display locals when debugging a module with an invalid MVID.
  ○ Child nodes should not be displayed for values of types IntPtr and UIntPtr.
  ○ Fix the architecture incompatibility warning for files targeting .NET Framework 1.x but being executed on CLR version 2.
  ○ CorDebug:
    ■ Improve suppression of NGEN image loading leading to a better debugging experience for modules present in the GAC.
    ■ Introduce a workaround for a .NET 6.0 bug that occurred when a debugger was attached to a process that utilized dynamic modules. (by @josegomez)
    ■ Use the CorDebug API directly to read thread and exception information to avoid issues with certain anti-dumping techniques.
    ■ Improve debugging support for legacy .NET Framework versions.
  ○ Mono/Unity:
    ■ Improved dynamic module detection and metadata fetching for newer Mono debugger API versions.
    ■ Fix computation of OffsetToStringData value resulting in improved evaluation accuracy and fixed Show in Memory command result.
    ■ Improved and optimized computation of OffsetToArrayData, it should now work smoother on newer Mono debugger API versions.
    ■ Use MDToken-based resolution for types and methods when possible on newer Mono debugger API versions.
    ■ Improve the result of the Show in Memory command for objects on newer Mono debugger API versions.
• BAML decompiler:
  ○ Improved analysis of BAML connection IDs.
  ○ Fixed incorrect decompilation of readonly properties in XAML code.
  ○ Fixed a crash resulting from unescaped member identifiers.

Dependency updates:
• Updated dnlib to 3.6.0
• Updated Iced to 1.18.0
• Roslyn compiler to 4.4.0
• VS MEF to 17.2.4
Download
Code:

https://github.com/dnSpyEx/dnSpy/releases/tag/v6.3.0
- Standalone x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.3.0/dnSpy-net-win32.zip
- Standalone x64:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.3.0/dnSpy-net-win64.zip
- Standalone with .NET Core x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.3.0/dnSpy-netframework.zip

TheDutchJewel 06-14-2023 12:41

dnSpy v6.4.0
2023-06-13

Changelog
Quote:

CRITICAL SECURITY WARNING
This release of dnSpyEx addresses the many newfound vulnerabilities in .NET 6. Updating is highly recommended!
See https://github.com/dotnet/announcements/issues issues 250 and 252-261

New features:
• All distributions of dnSpyEx now support resolving Windows shortcut files (*.lnk) when they are dragged onto the assembly explorer.
• Extended the export to project feature by adding support for unpacking multi-element resources back to .resx source files
• Introduce two additional options to the Save Module dialog. (AddMvidSection and ForceBigColumns)
• Added a new menu command to copy the full name of any metadata member.
• Add support for horizontal scrolling with the shift key in the text and hex editors.
• Add support for multiline copy and paste to the text editor.
• Added support for .url shortcut files and modified the code to recursively resolve shortcuts until a target file is reached.
• ILSpy Decompiler:
  ○ Display custom attributes defined on interface implementations in the IL disassembly
  ○ Add IL with C# decompiler language which annotates the IL disassembly with comments showing the higher level C# statements above the IL code responsible for them.
  ○ Show field initial value for simple primitive types in a comment located above the field declaration.
  ○ Added a new decompiler option to disable the insertion of unnecessary parenthesis.
• Reworked BAML disassembler:
  ○ Heavily improved syntax highlighting and other editor features like indent guides and brace pair highlighting.
  ○ Add local jump to reference for BAML attribute, type, etc. declaration records.
  ○ Add support for dnSpy's number tooltips in the disassembler.
  ○ Introduce tooltips for type, assembly, property, and resource references.
  ○ Improved performance and memory efficiency.

Improvements and bug fixes:
• Fixed regular non-publish .NET 6 debug and release dnSpy builds, they no longer crash on startup and now also use the correct x86 icon when applicable.
• Fixed a commonly occurring NullReferenceException when editing event definitions using the assembly editor component.
• Improved Chinese translation by @Wenveo
• Fixed incorrect handling of __arglist parameter in the Edit in C#/Edit in VB options.
• Fix incorrect display of VarArg and NativeVarArg in the signature editing dialog.
• Properly handle Unmanaged calling convention across the dnSpyEx code base.
• Fixed incorrect escaping behavior when displaying strings found in embedded resources.
• Refresh search results when the scope of the search operation is changed (e.g. a different file is selected and the search mode is set to the selected file)
• Fixed C# and VB tooltips for types with uninstantiated generic parameter signatures.
• Escape Hangul Filler characters and other similar whitespace characters that were previously not escaped across the dnSpyEx UI.
• Use reference assemblies for the compiler in the Edit in C#/Edit in VB options to fix issues with incorrect assembly references being emitted when editing .NET Standard or .NET Core assemblies.
• Added a workaround for a bug in WPF WindowChromeWorker that caused OverflowException to be thrown for invalid hittest window messages.
• Correctly set the available options based on the window state in the Windows Alt + Space menu.
• Improved .NET Standard assembly resolution to prioritize exact version match over the latest available version.
• Fixed a bug that resulted in the ability of the user to infinitely scroll horizontally.
• Fix an issue in the new RESX writer which resulted in incorrectly generated RESX for resources with user serialized types.
• ILSpy Decompiler:
  ○ Fixed multiple NRE's that occurred when decompiling heavily obfuscated property metadata.
  ○ Fixed an issue that caused incorrect dynamic types to be introduced for method parameters.
  ○ Improved type inference for calli instructions as well as stores to readonly auto-properties.
  ○ Fixed several issues relating to the decompilation of member names containing a . character.
  ○ Display custom attributes in the same order that they appear in metadata by default.
  ○ Improved performance and memory efficiency.
• Debugger:
  ○ Fixed certain expressions in the Watch and Locals window being incorrectly syntax highlighted.
  ○ Fixed a bug that prevented the Show Raw Locals option from working when the Roslyn EE failed to initialize due to invalid metadata.
  ○ Fixed a bug that prevented the DebuggerDisplayAttribute evaluator from working as intended.
  ○ Several improvements to the built-in IL interpreter and function evaluator aimed at improving performance and accuracy.
  ○ Fixed type name parsing issues which lead to the debugger incorrectly resolving custom attributes, security declarations, and some marshal blobs.
  ○ Improve the Show in memory command for objects in the locals and watch windows.
  ○ Improve the display of method names in the Call stack window. __arglist, dynamic, nint, nuint and tuple element names are now properly displayed.
  ○ Added an anti-anti-debug option to prevent the malicious use of NtRaiseHardError to trigger kernel faults (blue screens of death).
  ○ Added an anti-anti-debug option to prevent the detection of the debugger using a call to CloseHandle with an invalid handle.
  ○ Update Roslyn debugger intrinsic handling to match what is expected by Roslyn 4.6.0
  ○ CorDebug:
    ■ Improved loading of dynamic modules (fixed issues with thread safety and added code to fetch more metadata from the CorDebug API)
    ■ Fallback to COM-based metadata reading when the in-memory metadata is corrupted (e.g. anti-dumping protection)
    ■ Display COM error code when the debugger fails to start.
    ■ Made the timeout for CoreCLR debugger initialization configurable.
    ■ Display the HRESULT when attaching the CoreCLR debugger fails.
    ■ Improve support for debugging of single file bundle files which do not contain the required debugging components by trying to load them from the locally installed .NET installations.
  ○ Mono:
    ■ Improved loading of obfuscated modules when debugging
    ■ Fixed several issues related to the resolution of method definitions on newer debugger protocol versions
    ■ Fixed an unhandled AggregateException when connecting to a Unity debuggee (by @UlyssesWu).
    ■ Display the IP and port used to connect to the debuggee in the output window.
    ■ Improve loading of metadata from in-memory modules.
• BAML decompiler:
  ○ Fixed resolution of PresentationFramework when it was referenced using its special ID 0xFFFF.
  ○ Lazily resolve known XAML types, properties, and other members to increase performance.
  ○ Improve extraction of BAML connection ID information to work without all dependency assemblies and in other edge cases.
  ○ Fixed an issue that resulted in dnSpy introducing markup extensions in cases where they were not syntactically valid.
  ○ Properly place markup extension arguments containing spaces in single quotes.
  ○ Fix issues regarding incorrect or missing escaping from markup extensions.
  ○ Fixed crashes caused by the UI's WPF markup extension parser when it encountered invalid syntax.
  ○ Fix a bug that caused XAML paths to lack a Z character at the end.
  ○ Improved support for markup extensions where their classes inherit from generic classes.
  ○ Improved support for nested types within XAML markup extensions.

Dependency updates:
• Updated Rosyn compiler to 4.6.0
• Updated VS MEF to 17.6.17
• Updated Newtonsoft.Json to 13.0.3
• Updated Iced to 1.19.0

Full Changelog: https://github.com/dnSpyEx/dnSpy/compare/v6.3.0...v6.4.0
Download
Code:

https://github.com/dnSpyEx/dnSpy/releases/latest
- Standalone x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.4.0/dnSpy-net-win32.zip
- Standalone x64:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.4.0/dnSpy-net-win64.zip
- Standalone with .NET Core x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.4.0/dnSpy-netframework.zip

TheDutchJewel 09-09-2023 14:51

dnSpy v6.4.1
2023-09-08

Changelog
Quote:

CRITICAL SECURITY WARNING
This release of dnSpyEx addresses a recently discovered critical security concern involving arbitrary code execution. All users are recommended to update to this new version to remain safe and secure while using dnSpyEx. No functional or behavioral changes are included in this release.

More information about the security concern will be published in due time in order to give people time to update to this patched version.

Thanks to @Elliesaur and @Washi1337 for informing me about this critical security concern.

Note for users of CI builds from the master branch:
Builds compiled after commit 63722fd are safe. If you are unsure how to check when your build was compiled, it is recommended to update to the latest CI build.
Download
Code:

https://github.com/dnSpyEx/dnSpy/releases/latest
- Standalone x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.4.1/dnSpy-net-win32.zip
- Standalone x64:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.4.1/dnSpy-net-win64.zip
- Standalone with .NET Core x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.4.1/dnSpy-netframework.zip

TheDutchJewel 02-05-2024 13:51

dnSpy v6.5.0
2024-02-04

Changelog
Quote:

New features:
• dnSpy now runs on .NET 8 and .NET Framework 4.8.
• dnSpy now handles TypeRef rows with a ResolutionScope of 0 in the same way as the CLR rather than following the ECMA specification.
• The low-level metadata editor is now aware of the implications of the #JTD metadata stream being present.
• Enable Windows targetting in project files to allow compiling on other platforms (Note: dnSpy will still only run on Windows due to the WPF dependency)
• Added binding redirects for various common assemblies with frequent version bumps to make extensions compiled for older versions load more seamlessly.
• Added support for new resource serialization formats added as part of System.Resources.Extensions
• Added a new, opt-out, update checker which runs on startup and will display an update notification in a new information bar component.
• C# Interactive now references additional libraries giving access to newer features like Span<T> or immutable collections.
• Enabled Server and concurrent GC as well as RDP hardware acceleration in the .NET 8 builds
• ILSpy Decompiler:
  ○ Added support for C# ref types to the decompiler - ref types are now correctly decompiled into the proper C# syntax instead of being decompiled into pointer types.
  ○ Added support for C# function pointers to the decompiler - Function pointers are now correctly represented using the C# syntax rather than simple types of name method
• Debugger
  ○ The debugger now supports displaying tuple element names, dynamic types, and native integer types defined in custom attributes.
  ○ The debugger expression evaluator now includes support for tuple element names and dynamic types.
  ○ Debugger tool windows now use the correct C# 9 function pointer syntax as well as the correct ref type syntax.
  ○ Display a message dialog when valid metadata cannot be obtained when executing the Open module from memory command.
  ○ Added an additional option to the .NET Framework start debugging dialog to override the CLR version to use for debugging purposes. This can be helpful for files that use obfuscated native loaders when dnSpy can't automatically detect the correct CLR version.

Improvements and bug fixes:
• Fixed loading XML documentation for System.Private.CoreLib.dll.
• Improve the method overridden by analyzer to take into account explicit overrides in the metadata.
• Minor improvements to the low-level metadata table editor.
• Improve dependency assembly resolution for cases where .NET Core/.NET 5+ or .NET Framework 2.0 might not be installed.
• Improve performance of members overridden by analyzers.
• Prevent the dependency assembly resolver from performing IO calls on assembly references with invalid file names.
• Minor improvements to the member analyzer to reduce false positives.
• Fixed some null reference errors that could occur when deleting a member or type that was still referenced in a module.
• Improve assembly resolution performance when the module list is frozen (this is a backend change, no behavioral changes will be observable)
• Updated Chinese translations.
• Debugger:
  ○ Fixed some cases where expressions generated for the expression evaluator were missing parenthesis leading to errors.
  ○ Improve formatting of multi-dimensional array types in the local, watch, and autos windows.
  ○ Extend the breakpoint filter expression evaluator to allow for more complicated expressions.
  ○ Fixed a bug that caused the Raw Locals view to fail when the assembly referenced multiple core libraries.
  ○ Improve handling of dynamic types in Raw Locals display mode.
  ○ Extend support for attaching to Unity processes (by @rigdern)
  ○ Gracefully handle the case when the CorDebug IMetaDataImport interface cannot be obtained for a given module.
  ○ Improve the accuracy of the Break on entry point and break on module constructor feature for single file bundle debugging.
• ILSpy Decompiler:
  ○ Usual round of optimizations and performance improvements.
  ○ Fixed incorrect methodof decompilation for ldtoken of a method.
  ○ Corrected expected prefixes on call and ldftn instructions.
  ○ Improve ambiguous type name analysis to include namespace names as ambiguous identifiers.
  ○ Improve IL disassembler display of function pointer types.
  ○ Improve decompilation of array access through special methods defined on array signatures.
• BAML decompiler:
  ○ Improve decompilation and detection of BAML connection ID mappings found in method bodies.
  ○ Improve behavior when member and type references cannot be resolved to the declaring definitions due to missing dependencies.
  ○ Added support for specially declared BAML attributes - xml:lang and xml:space are now properly decompiled on all occasions.
  ○ Avoid outputting invalid identifier characters by ensuring all identifiers are escaped before being written to the output.
  ○ Fixed a crash in the BAML decompiler which could occur when assembly references were missing.

Dependency updates:
• Updated dnlib to 4.4.0
• Updated Iced to 1.21.0
• Updated Rosyn compiler to 4.8.0
• Updated VS MEF to 17.7.26
• Updated NuGet.Configuration to 6.8.0
• Updated dbgshim.dll component to the .NET 8 version

Full Changelog: https://github.com/dnSpyEx/dnSpy/compare/v6.4.1...v6.5.0
Download
Code:

https://github.com/dnSpyEx/dnSpy/releases
- Standalone x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.5.0/dnSpy-net-win32.zip
- Standalone x64:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.5.0/dnSpy-net-win64.zip
- Standalone with .NET Core x86:
Code:

https://github.com/dnSpyEx/dnSpy/releases/download/v6.5.0/dnSpy-netframework.zip

LordGarfio 02-19-2024 08:48

Hello you guys,

Does anyone know what is the version and build with support for .NET Framework v4.03 ( Windows XP ) ?

Anyway on the site github.com/dnSpy/dnSpy, it is available v6.1.8, minor versions are not there anymore.

Thank you in advanced.

sendersu 02-19-2024 14:39

I guess you need some older version...
you could find over the net, eg here: https://taimienphi.vn/download-dnspy-36248/-453-phien-ban

PS or build yourself from sources using the old git tag

blue_devil 02-19-2024 14:51

Quote:

Originally Posted by LordGarfio (Post 130168)
Hello you guys,

Does anyone know what is the version and build with support for .NET Framework v4.03 ( Windows XP ) ?

Anyway on the site github.com/dnSpy/dnSpy, it is available v6.1.8, minor versions are not there anymore.

Thank you in advanced.

Hello I have this, from 52pojie. Tested on WinXP x64:

dnSpy v2.0.0.0-beta
Code:

https://pixeldrain.com/u/hDkW7seg

sendersu 02-19-2024 16:22

Hmm provided that one would like to build dnSpy ancient tag from sources, where could it be found?
https://github.com/dnSpy/dnSpy/tags 1st one is just 6.1.8
how about tags for 5.x, 4.x, etc?

kienmanowar 02-20-2024 10:44

Quote:

Originally Posted by sendersu (Post 130177)
Hmm provided that one would like to build dnSpy ancient tag from sources, where could it be found?
https://github.com/dnSpy/dnSpy/tags 1st one is just 6.1.8
how about tags for 5.x, 4.x, etc?

Check it here bro, ElektroKill forked and continue dev:
Quote:

https://github.com/dnSpyEx/dnSpy
Regards,

sendersu 02-20-2024 13:52

yeah, this is a well-known continuation of the tool, but the oldest tag in that fork is just 6.1.8 from 2020
do you see earlier ones?...

blue_devil 02-20-2024 14:15

Quote:

Originally Posted by sendersu (Post 130188)
yeah, this is a well-known continuation of the tool, but the oldest tag in that fork is just 6.1.8 from 2020
do you see earlier ones?...

Apparently the original author deleted the old tags. I only have some of the old tags. in case you need them let me know.

FoxB 02-20-2024 14:44

if you need 5.0.7.0 and some old collection (master and release)

sendersu 02-20-2024 20:49

Quote:

Originally Posted by blue_devil (Post 130189)
Apparently the original author deleted the old tags. I only have some of the old tags. in case you need them let me know.

well, it was the guy above looking for some old build for dnSpy...
I was just wondering what the hell has happened so we loose the full history of project

let me ask this way: if someone forks the GH repo into his own account and later on original repo owner decides to cut some tags - does it mean that my forked repo will be aligned (cut) as well?

blue_devil 02-20-2024 20:52

Quote:

Originally Posted by sendersu (Post 130193)
well, it was the guy above looking for some old build for dnSpy...
I was just wondering what the hell has happened so we loose the full history of project

let me ask this way: if someone forks the GH repo into his own account and later on original repo owner decides to cut some tags - does it mean that my forked repo will be aligned (cut) as well?

AFAIK, In github when you fork a repo you do not fork releases/tags.

sendersu 02-20-2024 20:54

OK! so we have like 4900+- forked repos (sic!) out from original dnSpy repo
now the question is - how to find those that are keeping all the tags from ground up? :)

sendersu 02-20-2024 20:55

are there any tools that could visualize that huge amount of info in a nice and user friendly way? GH itself is very limited in this question, unfortunately


All times are GMT +8. The time now is 05:49.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX