Dotfuscator Professional Edition, Version 4.31.0 – Release Date August 23, 2017

Change Log – Version 4.31.0 – Release Date August 23, 2017


  • A new user-friendly interface for configuring Checks has been added.
    • The Instrumentation tab has been renamed to Injection and has been split into two sub-tabs: the original Instrumentation editor and the new Checks editor.
    • Tamper Checks, Debugging Checks, and Shelf Life Checks are now configured using the Checks sub-tab. They can no longer be configured as extended attributes in the Instrumentation sub-tab. Checks configured in earlier versions of Dotfuscator will be automatically shown on the new Checks tab.
      • A Check, when configured in the user interface, can now target multiple methods. Checks that are configured by in-code attributes only target the method they annotate.

  • Obfuscation of apps made with the Unity game engine is now supported. Please see the User Guide for details.
    • Supported app platforms: PC, Mac, and Linux Standalone, Android, iOS, and Windows Store (UWP).
    • Supported scripting backends: .NET and Mono.
  • Obfuscation of .NET Core 2.0 and .NET Standard 2.0 assemblies is now supported.
  • Improved support for Xamarin code and XAML so fewer renaming exclusions are required.
  • When a method that returns a Value Tuple is renamed, the TupleElementNamesAttribute for the method will also be removed, preventing decompilers from discovering the original names of the returned tuple.
  • The User Guide has been converted to a new format and extensively reorganized to make content easier to find, concepts easier to understand, and to make the documentation itself easier to use.
  • The Dotfuscator command line interface can now be used in a specialized Dotfuscator Command Prompt, preventing the need to find the executable and add it to your path in a standard Windows command prompt.
    • The prompt is available from the Start Menu as Dotfuscator Command Prompt.
    • You can also access the prompt from within the standalone user interface through the Tools menu. If you have a Dotfuscator config file loaded when you do this, the prompt will start in the directory of that config file.
  • The user interface now abbreviates the paths of input assemblies in tree views, to make the actual assembly easier to see. The full paths are now provided by tool tips.
  • The standalone GUI now switches to the Output tab after a build. This behavior can be disabled via a checkbox on the Output tab.
  • Sample projects included with Dotfuscator have been updated.

Functional Changes

  • When the Visual Studio integration is installed into an edition of Visual Studio 2017, the relevant MSBuild tasks and targets are now also installed into that edition.
  • Automatic Authenticode re-signing of output assemblies is now deprecated, as the feature only supports SHA-1. A link has been added to the standalone user interface, providing advice on how to configure Authenticode signing with SHA-1, SHA-256, and dual-signing.
  • Newer Microsoft-authored assemblies will now be automatically treated as artifacts when present in a package, as certain older assemblies are.
  • The command line interface will now only display usage help if requested (via the /? or /?? arguments, or a lack of arguments) or if the arguments provided are invalid. Other errors no longer display usage help.
  • The full version number has been simplified.


  • Corrected an issue where a MSBuild task fails when a new version of Dotfuscator is available.
  • Corrected an issue where the Japanese localization is not correctly installed for the Visual Studio integration and MSBuild tasks and targets.
  • Corrected an issue where Dotfuscator added a reference to mscorlib to assemblies that did not reference it before processing.
  • Corrected issues with Dotfuscator and Lucidator decoding obfuscated stack traces.
  • Corrected an issue where Dotfuscator fails to resolve assembly references if a directory is inaccessible.
  • Corrected an issue where the Dotfuscate MSBuild task’s DebugSymbols item contained entries for PDB files that do not exist.
  • Corrected an issue where Dotfuscator does not detect tools included with certain Windows Kits in the Windows 10 Creators Update.
  • Corrected an issue where ZIP-based packages written by Dotfuscator had invalid directory separators on non-Windows platforms.
  • Corrected an issue that occurs when Dotfuscator reads a config file containing extended attributes that it does not recognize.
  • Fixed other minor issues.