Don't miss updates

Receive information about releases as RSS feed.

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