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.
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.