Don't miss updates

Receive information about releases as RSS feed.

  • 10/18/2024 October 2024

    Version 2024.9

    FIX: Resolved an issue where the hardware ID could unexpectedly change, even though the hardware itself had not been altered.

  • 10/2/2024 October 2024

    Version 2024.8

    FIX: In some cases, after applying control flow obfuscation or virtualization, the finally block was not executed when an exception was thrown from the corresponding try block.

  • 8/13/2024 August 2024

    Version 2024.7

    FIX: If the license key was not entered, the standalone ArmDot and ArmDotConsole unexpectedly stopped with the error "The ArmDot license is invalid".

  • 6/26/2024 June 2024

    Version 2024.6

    FIX: The types, methods, and fields generated by ArmDot are now set as non-public.

  • 6/24/2024 June 2024

    Version 2024.5

    ADD: ArmDot stops obfuscation if the license has expired.

  • 6/17/2024 June 2024

    Version 2024.4

    ADD: ArmDot supports .NET 9.0.

  • 5/31/2024 May 2024

    Version 2024.3

    FIX: Fixed errors in exception handling within obfuscated methods.

    FIX: In some instances, ArmDot was unable to implement the feature integrity check for assemblies.

  • 5/29/2024 May 2024

    Version 2024.2

    ADD: Added an experimental feature for integrity checking.

  • 4/8/2024 April 2024

    Version 2024.1

    FIX: Resolved an issue where ArmDot was incorrectly virtualizing arrays of enums.

  • 10/3/2023 October 2023

    Version 2023.12

    FIX: The XamlC task encountered an error while attempting to process assemblies that were obfuscated by ArmDot.

  • 7/19/2023 July 2023

    Version 2023.11

    ADD: ArmDot supports .NET 8.0.

  • 5/10/2023 May 2023

    Version 2023.10

    FIX: ArmDot stopped working unexpectedly.

  • 4/29/2023 April 2023

    Version 2023.9

    ADD: Improved the string hiding algorithm.

  • 4/25/2023 April 2023

    Version 2023.8

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

  • 2/24/2023 February 2023

    Version 2023.7

    FIX: If a type had both ObfuscateNames and ObfuscationAttribute, ArmDot ignored the ObfuscationAttribute. For example, if the ObfuscationAttribute had settings such as Exclude = true and ApplyToMembers = false, and ArmDot.Client.ObfuscateNames(Enable = true, Inherit = true) was applied, the type would still be obfuscated.

  • 2/21/2023 February 2023

    Version 2023.6

    FIX: ArmDot obfuscated the names of fields that were 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 remaining obfuscation options were not applied.

  • 2/1/2023 February 2023

    Version 2023.4

    FIX: If an assembly's PDB was invalid, ArmDot would not obfuscate the assembly.

  • 1/10/2023 January 2023

    Version 2023.3

    FIX: If a project that utilized the license API was targeting .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 when name obfuscation was enabled.

  • 12/28/2022 December 2022

    Version 2022.21

    ADD: Sometimes ArmDot failed to obfuscate an application with a target framework of .NET 4.8.1.

  • 12/28/2022 December 2022

    Version 2022.20

    ADD: ArmDot now supports .NET 4.8.1.

  • 12/16/2022 December 2022

    Version 2022.19

    ADD: Sometimes ArmDot would fail to virtualize methods.

  • 12/2/2022 December 2022

    Version 2022.18

    ADD: ArmDot would fail when attempting to virtualize a method without a body.

  • 11/29/2022 November 2022

    Version 2022.17

    ADD: ArmDot now supports .NET 7.0.

  • 11/28/2022 November 2022

    Version 2022.16

    FIX: ArmDot now displays a clear error message if the file to be embedded does not exist.

  • 11/18/2022 November 2022

    Version 2022.15

    FIX: Exception handlers were being 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 a 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 when the 'hide string' option is enabled.

  • 9/5/2022 September 2022

    Version 2022.9

    ADD: ArmDot.Engine.MSBuildTasks.ObfuscateTask supports generating map files for deobfuscating stack traces.

  • 9/5/2022 September 2022

    Version 2022.8

    ADD: ArmDot generates map files for deobfuscating stack traces.

  • 6/6/2022 June 2022

    Version 2022.7

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

  • 4/28/2022 April 2022

    Version 2022.6

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

  • 4/7/2022 April 2022

    Version 2022.5

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

  • 4/6/2022 April 2022

    Version 2022.4

    ADD: New parameter, SkipAlreadyObfuscatedAssemblies, added to ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 4/3/2022 April 2022

    Version 2022.3

    FIX: Applications targeting .NET Framework 4.8 may crash upon startup.

  • 3/11/2022 March 2022

    Version 2022.2

    FIX: In certain cases, ArmDot failed to virtualize a method when it had an exception filter.

  • 1/10/2022 January 2022

    Version 2022.1

    ADD: Executables obfuscated by ArmDot no longer display a nag screen.

  • 12/14/2021 December 2021

    Version 2021.22

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

  • 12/2/2021 December 2021

    Version 2021.21

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

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

  • 12/1/2021 December 2021

    Version 2021.20

    FIX: ArmDot didn't utilize the type obfuscation options stored in a project.

  • 11/30/2021 November 2021

    Version 2021.19

    ADD: ArmDot UI did not display obfuscation options for types.

  • 11/26/2021 November 2021

    Version 2021.18

    ADD: New parameter, TreatAllWarningsAsErrors, added to ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 10/4/2021 October 2021

    Version 2021.17

    FIX: If embedded resource 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, added to ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 6/7/2021 June 2021

    Version 2021.13

    FIX: ArmDot mistakenly renamed the protected methods.

  • 4/9/2021 April 2021

    Version 2021.12

    ADD: ArmDot now provides support for assembly signing.

  • 4/4/2021 April 2021

    Version 2021.11

    ADD: ArmDot may encounter difficulties in virtualizing certain methods within a UWP application.

  • 3/29/2021 March 2021

    Version 2021.10

    ADD: ArmDot now offers support for obfuscating UWP applications.

  • 3/22/2021 March 2021

    Version 2021.9

    FIX: The tasks from the NuGet package ArmDot.Engine.MSBuildTasks cannot be used when the project is built using 'dotnet build'.

  • 3/19/2021 March 2021

    Version 2021.8

    FIX: Mono might fail to execute virtualized code when the original code used a 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 by embedding the icon and license into the packages.

  • 2/1/2021 February 2021

    Version 2021.6

    FIX: Fixed an issue where the virtualized code of a method was incorrect when its declaring type was an open generic type.

  • 1/29/2021 January 2021

    Version 2021.5

    FIX: ArmDot will no longer virtualize a method if it uses a field with an open generic type.

  • 1/22/2021 January 2021

    Version 2021.4

    FIX: ArmDot now excludes the virtualization of a method if it contains an unused variable of an open generic type.

    FIX: ArmDot previously did not virtualize a method if it contained an unused parameter of an open generic type.

  • 1/15/2021 January 2021

    Version 2021.3

    FIX: ArmDot mistakenly virtualized a method containing a variable of an open generic type, despite virtualization not being supported in such cases.

  • 1/12/2021 January 2021

    Version 2021.2

    FIX: ArmDot incorrectly virtualized a method when it included a parameter of an open generic type, even though virtualization is not supported in such cases.

    FIX: ArmDotConsole encountered an issue where it would not correctly write the obfuscated assembly if a relative path was specified using the --output-assembly option.

  • 1/6/2021 January 2021

    Version 2021.1

    FIX: The virtualized code produced an incorrect result when the original code used brtrue/brfalse with an object reference.

  • 12/24/2020 December 2020

    Version 2020.38

    FIX: The ArmDot licensing API failed to verify a license key if an empty hardware ID was provided.

  • 12/23/2020 December 2020

    Version 2020.37

    FIX: The virtualized code was behaving incorrectly when the original code contained constrained/callvirt operations.

  • 12/21/2020 December 2020

    Version 2020.36

    FIX: If a Xamarin application is virtualized by ArmDot, Visual Studio might encounter deployment issues when trying to deploy the application to an Android device.

  • 12/17/2020 December 2020

    Version 2020.35

    FIX: When archiving a Xamarin project in Visual Studio, there is a possibility that ArmDot.Engine.MSBuildTasks.ObfuscateTask might crash.

  • 12/15/2020 December 2020

    Version 2020.34

    FIX: In certain scenarios, ArmDot failed to virtualize a method.

  • 12/14/2020 December 2020

    Version 2020.33

    FIX: Increased speed of method virtualization.

  • 12/9/2020 December 2020

    Version 2020.32

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

  • 12/4/2020 December 2020

    Version 2020.31

    FIX: In certain cases, ArmDot was unable to obfuscate the control flow of a method.

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

  • 11/20/2020 November 2020

    Version 2020.30

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

  • 11/16/2020 November 2020

    Version 2020.29

    ADD: Added a new property NoWarn to ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 11/13/2020 November 2020

    Version 2020.28

    ADD: Added support for .NET 5.

  • 11/3/2020 November 2020

    Version 2020.27

    FIX: Failed to add ArmDot.Engine.MSBuildTasks.ObfuscateTask to the project.

  • 11/3/2020 November 2020

    Version 2020.26

    ADD: Introduced a new property, EmbeddedFiles, in ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 10/27/2020 October 2020

    Version 2020.25

    ADD: ArmDot now logs information about embedded files in the build log

  • 10/26/2020 October 2020

    Version 2020.24

    FIX: The EmbedFileAttribute can now be applied multiple times.

  • 10/19/2020 October 2020

    Version 2020.23

    ArmDot now supports virtualization of methods that return instantiated generic types.

  • 10/2/2020 October 2020

    Version 2020.22

    ADD: ArmDotConsole now supports obfuscation without requiring a project file.

  • 9/20/2020 September 2020

    Version 2020.21

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

  • 9/17/2020 September 2020

    Version 2020.20

    FIX: Fixed an issue where name obfuscation would sometimes fail.

  • 9/1/2020 September 2020

    Version 2020.19

    ADD: Added support for Xamarin.

  • 8/7/2020 August 2020

    Version 2020.18

    FIX: Improved obfuscation speed.

  • 7/31/2020 July 2020

    Version 2020.17

    FIX: Resolved issue where a virtualized method would occasionally crash when attempting to execute a 'switch' instruction.

  • 7/27/2020 July 2020

    Version 2020.16

    FIX: Addressed an issue where ArmDot occasionally failed to virtualize a method that included the 'starg' instruction.

  • 7/21/2020 July 2020

    Version 2020.15

    FIX: Resolved a crash issue in virtualized code occurring when calling generic methods.

    FIX: When names obfuscation was enabled, the build log displayed new names instead of the original ones. This has been fixed.

  • 7/16/2020 July 2020

    Version 2020.14

    ADD: ArmDotConsole now displays an error message if either the user data or hardware ID is incorrect.

    FIX: Resolved a crash issue in ArmDotConsole that occurred when the hardware ID was not passed.

  • 7/16/2020 July 2020

    Version 2020.13

    Introduced a new property, ProjectPath, to the ArmDot.Engine.MSBuildTasks.ObfuscateTask.

  • 7/10/2020 July 2020

    Version 2020.12

    FIX: Resolved an issue where embedded files failed to run on .NET 4.7.2.

  • 7/7/2020 July 2020

    Version 2020.11

    ADD: Added a NuGet package for ArmDot.Client.

  • 7/6/2020 July 2020

    Version 2020.10

    ADD: Added a .NET Core version of ArmDot that is compatible with Linux and macOS operating systems.

    FIX: Resolved the issue where ArmDot was unable to locate certain types from the installed .NET Core runtimes.

  • 6/29/2020 June 2020

    Version 2020.9

    FIX: Fixed the issue where if certain obfuscation options could not be applied to a method, the method was skipped and obfuscation continued.

  • 6/28/2020 June 2020

    Version 2020.8

    FIX: Resolved an issue where the ArmDot UI occasionally failed to display protection options for items.

  • 6/26/2020 June 2020

    Version 2020.7

    Addressed an issue where ArmDot would occasionally generate incorrect code for a virtualized method that contained "endfinally".

  • 6/22/2020 June 2020

    Version 2020.6

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

    FIX: Corrected issue where ObfuscationAttribute was not removed even when StripAfterObfuscation was set to true.

    FIX: Addressed problem where a virtualized method would pass an incorrect value when calling a method with a System.Single parameter.

  • 5/30/2020 May 2020

    Version 2020.5

    ADD: The UI now supports nested types display.

    FIX: Addressed an issue where ArmDot failed to remove the VirtualizeCodeAttribute attribute from certain methods.

    FIX: Resolved the problem of incorrect saving and loading of paths for embedded files (using full paths instead of relative paths to the project root).

  • 5/25/2020 May 2020

    Version 2020.4

    ADD: Added support for .NET Core and .NET Standard.

  • 5/11/2020 May 2020

    Version 2020.3

    ADD: Enhanced the speed of virtualized methods.

  • 2/7/2020 February 2020

    Version 2020.2

    FIX: An issue where an application with protected resources could crash under .NET 2.0.

  • 2/5/2020 February 2020

    Version 2020.1

    ADD: Implemented a control flow obfuscation feature.

  • 12/4/2019 December 2019

    Version 2019.12

    ADD: Implemented name obfuscation feature.

  • 9/27/2019 September 2019

    Version 2019.11

    FIX: When a method threw an exception during virtualization, an exception of incorrect type was thrown.

  • 8/8/2019 August 2019

    Version 2019.10

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

  • 8/1/2019 August 2019

    Version 2019.9

    FIX: Protected code execution might have caused an InvalidProgramException.

  • 7/19/2019 July 2019

    Version 2019.8

    ADD: ArmDot now supports embedded resource protection.

  • 5/28/2019 May 2019

    Version 2019.7

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

  • 5/26/2019 May 2019

    Version 2019.6

    ArmDot threw an exception when the user switched to Files.

  • 5/9/2019 May 2019

    Version 2019.5

    ADD: ArmDot now utilizes the source assembly directory for resolving dependencies.

  • 4/7/2019 April 2019

    Version 2019.4

    ADD: ArmDot now supports locking the license key to the hardware.

  • 3/10/2019 March 2019

    Version 2019.3

    FIX: ArmDot would sometimes encounter processing errors when "Encrypt strings in all methods" was enabled for the entire assembly and the assembly included a PInvoke method.

  • 2/26/2019 February 2019

    Version 2019.2

    FIX: ArmDot previously had a potential issue where it might fail to generate a PDB file for a protected assembly. This issue has been resolved.

  • 1/28/2019 January 2019

    Version 2019.1

    FIX: ArmDot now correctly shows assemblies when a project is loaded from the Windows Explorer.

    ADD: Improved protection capabilities.

  • 12/26/2018 December 2018

    Version 2018.10

    ADD: Added the option for string encryption.

  • 12/12/2018 December 2018

    Version 2018.9

    FIX: Resolved an issue where ArmDot failed to process an assembly if its corresponding PDB file was not found.

  • 11/28/2018 November 2018

    Version 2018.8

    ADD: Updated the documentation.

  • 11/5/2018 November 2018

    Version 2018.7

    ADD: Embedded file content is now hidden.

    FIX: Fixed an issue where ArmDot would crash if a user selected two licenses and then deleted them.

  • 11/3/2018 November 2018

    Version 2018.6

    ADD: Fixed a potential crash issue in the protected executable.

  • 10/29/2018 October 2018

    Version 2018.5

    ADD: Added support for 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 release.