Don't miss updates

Receive information about releases as RSS feed.

  • 5/10/2023 May 2023

    Version 2023.10

    FIX: ArmDot stopped working unexpectedly.

  • 4/29/2023 April 2023

    Version 2023.9

    ADD: improved the strings hiding algorithm.

  • 4/25/2023 April 2023

    Version 2023.8

    FIX: in some cases, ArmDot incorrectly obfuscated names of generic methods.

  • 2/24/2023 February 2023

    Version 2023.7

    FIX: if a type had ObfuscateNames and ObfuscationAttribute, ArmDot ignored the ObfuscationAttribute, e.g.: Obfuscation(Exclude = true, ApplyToMembers = false), and ArmDot.Client.ObfuscateNames(Enable = true, Inherit = true); the type was obfuscated.

  • 2/21/2023 February 2023

    Version 2023.6

    FIX: ArmDot obfuscated the names of fields marked with the System.Runtime.Serialization.DataMemberAttribute.

  • 2/9/2023 February 2023

    Version 2023.5

    FIX: if virtualization was not supported for a method, the rest of the obfuscation options were not applied.

  • 2/1/2023 February 2023

    Version 2023.4

    FIX: if an assembly's PDB was invalid, ArmDot didn't obfuscate the assembly.

  • 1/10/2023 January 2023

    Version 2023.3

    FIX: if a project that used the license API was targeting to .NET 6.0, the project could not be built.

  • 1/9/2023 January 2023

    Version 2023.2

    FIX: some virtualized methods may unexpectedly throw System.IndexOutOfRangeException.

  • 1/5/2023 January 2023

    Version 2023.1

    FIX: sometimes ArmDot failed to virtualize a method if name obfuscation was enabled.

  • 12/28/2022 December 2022

    Version 2022.21

    ADD: sometimes ArmDot failed to obfuscate an application whose target framework was .NET 4.8.1.

  • 12/28/2022 December 2022

    Version 2022.20

    ADD: ArmDot supports .NET 4.8.1.

  • 12/16/2022 December 2022

    Version 2022.19

    ADD: sometimes ArmDot failed to virtualize methods.

  • 12/2/2022 December 2022

    Version 2022.18

    ADD: ArmDot failed when trying to virtualize a method without a body.

  • 11/29/2022 November 2022

    Version 2022.17

    ADD: ArmDot supports .NET 7.0.

  • 11/28/2022 November 2022

    Version 2022.16

    FIX: ArmDot displayed an unclear error message if a file to embed didn't exist.

  • 11/18/2022 November 2022

    Version 2022.15

    FIX: exception handlers were called in the wrong order after virtualization or control flow obfuscation.

  • 10/24/2022 October 2022

    Version 2022.14

    FIX: Visual Studio might hang when loading the project with the ArmDot obfuscator task.

  • 9/20/2022 September 2022

    Version 2022.13

    FIX: ArmDot may fail to virtualize .NET 6 WPF applications.

  • 9/20/2022 September 2022

    Version 2022.12

    FIX: improved compatibility with Mono.

  • 9/13/2022 September 2022

    Version 2022.11

    FIX: sometimes ArmDot UI failed to load obfuscation options for methods and types.

  • 9/12/2022 September 2022

    Version 2022.10

    ADD: ArmDot encrypts global string literals if the option "hide string" is enabled.

  • 9/5/2022 September 2022

    Version 2022.9

    ADD: ArmDot.Engine.MSBuildTasks.ObfuscateTask supports generating map files to deobfuscate stack traces.

  • 9/5/2022 September 2022

    Version 2022.8

    ADD: ArmDot generates map files to deobfuscate stack traces.

  • 6/6/2022 June 2022

    Version 2022.7

    FIX: ArmDot failed to run on Linux if a .NET version newer than 3.0 is installed.

  • 4/28/2022 April 2022

    Version 2022.6

    FIX: Blazor assemblies may fail to run after obfuscation on .NET 6.

  • 4/7/2022 April 2022

    Version 2022.5

    FIX: ArmDot may fail to virtualize some methods with generics.

  • 4/6/2022 April 2022

    Version 2022.4

    ADD: new parameter SkipAlreadyObfuscatedAssemblies of ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 4/3/2022 April 2022

    Version 2022.3

    FIX: applications that target .NET Framework 4.8 might crash at startup.

  • 3/11/2022 March 2022

    Version 2022.2

    FIX: ArmDot failed to virtualize a method if it had an exception filter in some cases.

  • 1/10/2022 January 2022

    Version 2022.1

    ADD: executables obfuscated by ArmDot don't show a nag screen now.

  • 12/14/2021 December 2021

    Version 2021.22

    ADD: ArmDot UI allows to set any obfuscation options for items.

  • 12/2/2021 December 2021

    Version 2021.21

    FIX: ArmDot incorrectly processed assembly names specified in InternalsVisibleToAttribute if they contained a dot.

    FIX: ArmDotConsole obfuscated the first assembly only despite several assemblies being specified.

  • 12/1/2021 December 2021

    Version 2021.20

    FIX: ArmDot didn't use types obfuscation options stored in a project.

  • 11/30/2021 November 2021

    Version 2021.19

    ADD: ArmDot UI didn't show obfuscation options for types.

  • 11/26/2021 November 2021

    Version 2021.18

    ADD: new parameter TreatAllWarningsAsErrors of ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 10/4/2021 October 2021

    Version 2021.17

    FIX: if embedded resources protection was enabled, some assemblies failed to run.

  • 6/28/2021 June 2021

    Version 2021.16

    ADD: ArmDot supports .NET 6.0.

  • 6/14/2021 June 2021

    Version 2021.15

    ADD: ArmDot obfuscates namespaces.

  • 6/13/2021 June 2021

    Version 2021.14

    ADD: new parameter LicenseFile of ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 6/7/2021 June 2021

    Version 2021.13

    FIX: ArmDot renamed protected methods by mistake.

  • 4/9/2021 April 2021

    Version 2021.12

    ADD: ArmDot supports signing assemblies.

  • 4/4/2021 April 2021

    Version 2021.11

    ADD: ArmDot might fail to virtualize some methods of a UWP application.

  • 3/29/2021 March 2021

    Version 2021.10

    ADD: ArmDot supports obfuscation of UWP applications.

  • 3/22/2021 March 2021

    Version 2021.9

    FIX: the tasks from the NuGet package ArmDot.Engine.MSBuildTasks can't be used if "dotnet build" was used to build a project.

  • 3/19/2021 March 2021

    Version 2021.8

    FIX: Mono might fail to run virtualized code if the original code was used value type from another assembly.

    FIX: ArmDot virtualized a method that called an open generic method.

  • 3/2/2021 March 2021

    Version 2021.7

    FIX: fixed warnings related to the ArmDot NuGet packages; the icon and the license are embedded into the packages now.

  • 2/1/2021 February 2021

    Version 2021.6

    FIX: virtualized code of a method was incorrect for a method if its declaring type was an open generic type.

  • 1/29/2021 January 2021

    Version 2021.5

    FIX: ArmDot virtualized a method despite it used a field those type is an open generic type.

  • 1/22/2021 January 2021

    Version 2021.4

    FIX: ArmDot didn't virtualize a method if it contained a variable whose type was an open generic type despite the variable was not used.

    FIX: ArmDot didn't virtualize a method if it contained a parameter whose type was an open generic type despite the parameter was not used.

  • 1/15/2021 January 2021

    Version 2021.3

    FIX: ArmDot virtualized a method if it contained a variable whose type was an open generic type despite virtualization is not supported in such a case.

  • 1/12/2021 January 2021

    Version 2021.2

    FIX: ArmDot virtualized a method if it contained a parameter whose type was an open generic type despite virtualization is not supported in such a case.

    FIX: ArmDotConsole failed to write obfuscated assembly if `--output-assembly` specified a relative path.

  • 1/6/2021 January 2021

    Version 2021.1

    FIX: virtualized code was incorrect if original code used `brtrue`/`brfalse` for an object reference.

  • 12/24/2020 December 2020

    Version 2020.38

    FIX: ArmDot licensing API failed to check a license key if empty hardware id was written.

  • 12/23/2020 December 2020

    Version 2020.37

    FIX: virtualized code was invalid in case if original code contained `constrained`/`callvirt`.

  • 12/21/2020 December 2020

    Version 2020.36

    FIX: Visual Studio might fail to deploy a Xamarin application to an Android device if the application was virtualized by ArmDot.

  • 12/17/2020 December 2020

    Version 2020.35

    FIX: ArmDot.Engine.MSBuildTasks.ObfuscateTask might crash when Visual Studio is archiving a Xamarin project.

  • 12/15/2020 December 2020

    Version 2020.34

    FIX: ArmDot failed to virtualize a method in some cases.

  • 12/14/2020 December 2020

    Version 2020.33

    FIX: improved speed of method virtualization.

  • 12/9/2020 December 2020

    Version 2020.32

    ADD: ArmDotConsole and ArmDot.Engine.MSBuildTasks.ObfuscateTask support reference paths.

  • 12/4/2020 December 2020

    Version 2020.31

    FIX: ArmDot failed to obfuscate control flow of a method in some cases.

    ADD: ArmDot.Client.Dll is a strong-named assembly now.

  • 11/20/2020 November 2020

    Version 2020.30

    FIX: ArmDot removed an ObfuscationAttribute even if it was unknown for ArmDot.

  • 11/16/2020 November 2020

    Version 2020.29

    ADD: new property NoWarn of ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 11/13/2020 November 2020

    Version 2020.28

    ADD: .NET 5 is supported.

  • 11/3/2020 November 2020

    Version 2020.27

    ADD: it was unable to add ArmDot.Engine.MSBuildTasks.ObfuscateTask to a project.

  • 11/3/2020 November 2020

    Version 2020.26

    ADD: new property EmbeddedFiles of ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 10/27/2020 October 2020

    Version 2020.25

    ADD: ArmDot writes information about embedded files to the build log.

  • 10/26/2020 October 2020

    Version 2020.24

    FIX: EmbedFileAttribute could not be applied multiple times.

  • 10/19/2020 October 2020

    Version 2020.23

    FIX: ArmDot supports virtualization of methods that return instantiated generic types.

  • 10/2/2020 October 2020

    Version 2020.22

    ADD: ArmDotConsole supports obfuscation without a project file.

  • 9/20/2020 September 2020

    Version 2020.21

    ADD: by default, ArmDot writes obfuscated assembly to the same file now.

  • 9/17/2020 September 2020

    Version 2020.20

    FIX: sometimes names obfuscation failed.

  • 9/1/2020 September 2020

    Version 2020.19

    ADD: added support of Xamarin.

  • 8/7/2020 August 2020

    Version 2020.18

    FIX: improved obfuscation speed.

  • 7/31/2020 July 2020

    Version 2020.17

    FIX: sometimes a virtualized method crashed trying to execute an instruction `switch`.

  • 7/27/2020 July 2020

    Version 2020.16

    FIX: sometimes ArmDot failed to virtualize a method that contained an instruction `starg`.

  • 7/21/2020 July 2020

    Version 2020.15

    FIX: a virtualized might crash if it called generic methods.

    FIX: if names obfuscation was enabled, new names were shown in a build log (instead of original ones).

  • 7/16/2020 July 2020

    Version 2020.14

    ADD: if either user data or hardware id is incorrect, ArmDotConsole shows an error message.

    FIX: if hardware id was not passed to ArmDotConsole, it crashed.

  • 7/16/2020 July 2020

    Version 2020.13

    ADD: new property ProjectPath of ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 7/10/2020 July 2020

    Version 2020.12

    FIX: if a file was embedded into an assembly, it failed to run on .NET 4.7.2.

  • 7/7/2020 July 2020

    Version 2020.11

    ADD: a nuget package of ArmDot.Client.

  • 7/6/2020 July 2020

    Version 2020.10

    ADD: a .NET Core version of ArmDot that runs on Linux and macOS.

    FIX: ArmDot was unable to locate some types from installed .NET Core runtimes.

  • 6/29/2020 June 2020

    Version 2020.9

    FIX: if some obfuscation option can't be applied to a method, this method is skipped, and obfuscation continues.

  • 6/28/2020 June 2020

    Version 2020.8

    FIX: sometimes ArmDot UI didn't show protection options for items.

  • 6/26/2020 June 2020

    Version 2020.7

    FIX: sometimes ArmDot generated wrong code for a virtualized method if it contained `endfinally`.

  • 6/22/2020 June 2020

    Version 2020.6

    ADD: added new attributes: EmbedFileAttribute, HideStringsAttribute, ObfuscateControlFlowAttribute, ObfuscateNamesAttribute, and ProtectEmbeddedResourcesAttribute.

    FIX: ObfuscationAttribute was not removed even if StripAfterObfuscation was true.

    FIX: if a virtualized method called a method with a System.Single parameter, a wrong value passed to the method.

  • 5/30/2020 May 2020

    Version 2020.5

    ADD: the UI displays nested types.

    FIX: in some case, ArmDot didn't remove the VirtualizeCodeAttribute attribute from some methods.

    FIX: paths of embedded files might be saved and loaded incorrectly (a full path instead of a relative path to a project root path).

  • 5/25/2020 May 2020

    Version 2020.4

    ADD: added .NET Core and .NET Standard support.

  • 5/11/2020 May 2020

    Version 2020.3

    ADD: improved speed of virtualized methods.

  • 2/7/2020 February 2020

    Version 2020.2

    FIX: an application with protected resources might crash under .NET 2.0.

  • 2/5/2020 February 2020

    Version 2020.1

    ADD: added control flow obfuscation feature.

  • 12/4/2019 December 2019

    Version 2019.12

    ADD: added name obfuscation feature.

  • 9/27/2019 September 2019

    Version 2019.11

    FIX: if a method thrown an exception from a method to be virtualized, an exception of incorrect type was thrown after virtualization.

  • 8/8/2019 August 2019

    Version 2019.10

    FIX: protected WPF application might fail to locate resources if they were protected by ArmDot.

  • 8/1/2019 August 2019

    Version 2019.9

    FIX: protected code execution might cause InvalidProgramException.

  • 7/19/2019 July 2019

    Version 2019.8

    ADD: ArmDot supports embedded resources protection.

  • 5/28/2019 May 2019

    Version 2019.7

    FIX: ArmDot might fail to protect an assembly if it references to old versions of ArmDot.Client.dll.

  • 5/26/2019 May 2019

    Version 2019.6

    FIX: ArmDot thrown an exception when user switched to Files.

  • 5/9/2019 May 2019

    Version 2019.5

    ADD: ArmDot uses source assembly directory to resolve dependencies.

  • 4/7/2019 April 2019

    Version 2019.4

    ADD: ArmDot supports locking license key to hardware.

  • 3/10/2019 March 2019

    Version 2019.3

    FIX: ArmDot might fail to process an assembly if "Encrypt strings in all methods" is enabled for entire assembly, and the assembly contains a PInvoke method.

  • 2/26/2019 February 2019

    Version 2019.2

    FIX: ArmDot might fail to generate PDB file for protected assembly.

  • 1/28/2019 January 2019

    Version 2019.1

    FIX: ArmDot didn't show assemblies if a project is loaded from the Wimdows Explorer.

    ADD: improved protection.

  • 12/26/2018 December 2018

    Version 2018.10

    ADD: added string encryption option.

  • 12/12/2018 December 2018

    Version 2018.9

    FIX: ArmDot failed to process an assembly if its PDB file not found.

  • 11/28/2018 November 2018

    Version 2018.8

    ADD: updated documentation.

  • 11/5/2018 November 2018

    Version 2018.7

    ADD: embedded files content are hidden.

    FIX: ArmDot crashed if a user selected two licenses and deleted it.

  • 11/3/2018 November 2018

    Version 2018.6

    ADD: fixed possible crash of a protected executable.

  • 10/29/2018 October 2018

    Version 2018.5

    ADD: added embedded files.

  • 10/23/2018 October 2018

    Version 2018.4

    ADD: added expiration date, maximum build date and user data to license information.

  • 10/14/2018 October 2018

    Version 2018.3

    ADD: improved string encryption.

  • 10/14/2018 October 2018

    Version 2018.2

    ADD: added keygens for C/C++ and PHP.

  • 9/12/2018 September 2018

    Version 2018.1

    Initial version.