Eazfuscator.NET Changelog

What's new in Eazfuscator.NET 2024.1

Apr 3, 2024
  • Preliminary .NET 9.0 support
  • Code virtualization now supports interpolated strings
  • Improved ASP.NET Core support
  • Improved JSON serialization support
  • Improved Entity Framework Core support
  • Improved performance of method flattening
  • Improved documentation
  • Fixed issue that could lead to a loss of enum type information when used in interpolated string expression
  • Fixed issue that could leave XAML property reference with invalid namespace token after obfuscation
  • Fixed issue with nullable types when using code virtualization
  • Fixed issue that could cause type loading error when interface method was implemented in one of the base classes
  • Fixed issue that could lead to assembly loading error during obfuscation with code virtualization enabled
  • Fixed issue that could lead to assembly loading error during obfuscation of .NET Framework 4.x assemblies
  • Fixed performance regression of method inlining that occurred during obfuscation

New in Eazfuscator.NET 2023.4 (Nov 30, 2023)

  • NET 8.0 support
  • .NET MAUI support
  • JetBrains Rider 2023.3 support
  • Added out of the box support for gRPC serialization
  • Improved JSON serialization support
  • Improved XML documentation filter behavior for generic types
  • Improved documentation
  • Fixed issue that could lead to "Unsupported type argument in custom attribute signature" error during obfuscation
  • Fixed issue with assembly merging that could lead to unverifiable code generation
  • Fixed issue with method signature matching that could occur during obfuscation
  • Fixed issue that could lead to "Access to the mutex is denied" error during obfuscation

New in Eazfuscator.NET 2023.3 (Aug 10, 2023)

  • NET Framework 4.8.1 support
  • JetBrains Rider 2023.2 support
  • Added support for Blazor WebAssembly AOT compilation
  • Out of the box support for Prism framework
  • Improved preliminary .NET 8.0 support
  • Improved MSBuild integration
  • Improved Visual Studio integration
  • Improved support of high-DPI resolutions
  • Improved documentation
  • Fixed issue with mask-based exclusion of merged assemblies
  • Fixed issue with mask-based exclusion of embedded assemblies
  • Fixed issue that might cause a compatibility issue with WPF XAML renaming
  • Fixed issue that could lead to "Illegal characters in path" error when debug obfuscation feature was used
  • Fixed issue that could lead to "Illegal characters in path" error during obfuscation of ASP.NET Core Web App projects
  • Fixed issue that could lead to unverfiable code generation when using code virtualization
  • Fixed issue that caused a XAML compiler error during MAUI project publishing targeting Android platform
  • Fixed issue that might cause a runtime exception in MAUI application targeting Android platform
  • Fixed issue with local variable initialization in inlined methods
  • Fixed MSB4120 warning that might appear during the build of an obfuscated project in Visual Studio 17.7.0+

New in Eazfuscator.NET 2023.2 (May 3, 2023)

  • Preliminary .NET 8.0 support
  • JetBrains Rider 2023.1 support
  • Code control flow obfuscation can now be controlled down to a type/method level
  • Added a configuration setting to lower an obfuscation process priority
  • Eazfuscator.NET now runs on ARM64 machines natively without triggering x86 emulation (Windows 11+ ARM64, NET Framework 4.8.1+)
  • Changed system requirements: Windows 8.1+, Windows Server 2012 R2+
  • Improved .NET 7.0 support
  • Improved assembly merging
  • Improved assembly embedding
  • Improved NuGet integration
  • Improved metadata removal
  • Improved support of various serialization scenarios
  • Improved documentation
  • Fixed issue that could lead to "Unable to retrieve custom attributes container for XXX" error during obfuscation"
  • Fixed issue that could lead to "Method not found" error during obfuscation of a Unity project
  • Fixed issue that could lead to "The given assembly name or codebase was invalid" error when running an obfuscated application
  • Fixed issue that could lead to "Illegal characters in path" error during obfuscation
  • Fixed issue that could lead to "Dependencies deduction failed" error during obfuscation of a project that referenced "GitVersion.MsBuild" package
  • Fixed issue that could lead to "Identifier is not CLS-compliant" SGEN error during compilation
  • Fixed issue that could lead to "Property has related method belonging to another type" error during obfuscation when code inlining directive was used on a property accessor
  • Fixed issue that could lead to "The given key was not present in the dictionary" error during assembly merging under specific circumstances

New in Eazfuscator.NET 2023.1 (Jan 5, 2023)

  • JetBrains Rider 2022.3 support
  • Method flattening
  • Script variables syntax support in passwords
  • Product documentation can now be optionally installed as online-only component
  • Improved .NET 7.0 support
  • Improved conditional obfuscation by introducing a new record keyword
  • Improved XML documentation filter behavior for explicitly implemented interface members
  • Improved Visual Studio integration
  • Improved MSBuild integration
  • Improved documentation
  • Fixed issue that could lead to "Duplicate method declaration" obfuscation error
  • Fixed issue that could lead to NullReferenceException during obfuscation of WPF application that had a user control derived from a generic type
  • Fixed issue that led to MethodAccessException when a method calling a private constructor was inlined
  • Fixed issue that caused TypeLoadException when accessing dynamic proxies generated by Castle Project
  • Fixed issue that could lead to "Unable to call 'WriteStartMember' in current state" error during obfuscation of WPF application

New in Eazfuscator.NET 2022.2 (Oct 4, 2022)

  • .NET 7.0 support
  • JetBrains Rider 2022.2 support
  • Extended the list of code constructs supported by homomorphic encryption
  • Added the ability to fine-tune the inclusion of assemblies targeted by assembly mask syntax in assembly merging and embedding directives
  • Improved Xamarin support
  • Improved JSON serialization support
  • Improved XML serialization support
  • Improved reflection analysis for LINQ expressions
  • Improved serialization support of nullable value types
  • Fixed issue with method inlining that could occur when the method was called from virtualized code
  • Fixed issue with default interface implementation which could lead to an error during obfuscation
  • Fixed issue that could lead to "Method not found: 'System.ReadOnlySpan`1<Char> Microsoft.IO.Path.GetFileName(System.ReadOnlySpan`1<Char>)'" error during obfuscation when Visual Studio 17.3.0+ was installed
  • Fixed regression that might cause a package definition file be out of sync when obfuscating VSIX projects
  • Fixed issue that could lead to an obfuscation error when project targeted a platform on ARM processor
  • Fixed issue with resolving of System.ValueTuple out-of-band reference assembly for .NET Framework targets
  • Fixed issue that could lead to "Invalid metadata for attribute" error during obfuscation of WPF applications targeting .NET Core or .NET 5.0+
  • Fixed issue that caused an obfuscation error when the project had dependencies on Microsoft.Build.* assemblies
  • Fixed issue that could lead to "The filename or extension is too long" obfuscation error when merging feature was used

New in Eazfuscator.NET 2022.1 (Mar 29, 2022)

  • Preliminary support for .NET 7.0
  • JetBrains Rider 2021.3 support
  • Introduced EazfuscatorActiveConfigurations MSBuild property that allows to specify multiple build configurations eligible for obfuscation
  • Improved code virtualization
  • Improved --ensure-obfuscated command-line option: multi-threaded processing, visual reporting, more detailed exit codes of a process
  • Improved documentation
  • Fixed issue that could lead to "Unable to extract field definition from instruction operand" error during obfuscation
  • Fixed issue that could lead to a build error when using an obfuscated assembly as a reference in a C++/CLI project
  • Fixed issue that could lead to unverifiable code when using dynamic expressions on interface types
  • Fixed issue that could lead to TypeLoadException in obfuscated .NET 6.0 binaries compiled with ReadyToRun
  • Fixed issue that could lead to BadImageFormatException during ReadyToRun image generation
  • Fixed issue that could lead to ArgumentException when using application settings in obfuscated projects targeting .NET Core or .NET 5.0+
  • Fixed issue with anonymous types that could occur after assembly merging
  • Fixed issue with .NET Standard 2.1 assembly merging
  • Fixed issue with code inlining that could lead to "Cannot bind method" error at runtime
  • Fixed multiple issues with custom attributes
  • Fixed issue when MSBuild integration might not work for Visual Studio versions 2012 and 2013

New in Eazfuscator.NET 2021.4 (Nov 10, 2021)

  • .NET 6.0 support
  • Visual Studio 2022 support
  • Unity 2021.2 support
  • Assembly mask syntax for merging and embedding
  • Logging for assembly merging and embedding
  • Improved code virtualization
  • Improved XML serialization support
  • Improved documentation
  • Fixed assembly merging issue with conflicting assembly PE kinds
  • Fixed issue with emission of DebuggerBrowsableAttribute
  • Fixed issue with --check-version command-line option

New in Eazfuscator.NET 2021.3 (Sep 14, 2021)

  • JetBrains Rider 2021.2 support
  • Improved Visual Studio 2022 preliminary support
  • Improved .NET 6.0 preliminary support
  • Improved .NET 5.0 support
  • Improved .NET Core support
  • Improved support for VSIX projects
  • Improved XML serialization support
  • Improved binary serialization support
  • Fixed issue with assembly embedding and resource encryption that could occur in .NET 6.0+ environments
  • Fixed issue with nested generic types in custom attributes that could lead to an obfuscation error
  • Fixed issue that could lead to "Unable to find field X in class by type reference Y" error during obfuscation

New in Eazfuscator.NET 2021.2 (Jul 17, 2021)

  • Visual Studio 2022 preliminary support
  • JetBrains Rider 2021.1 support
  • Improved .NET 6.0 preliminary support
  • Improved .NET 5.0 support
  • Improved .NET Core support
  • Improved ClickOnce support
  • Improved assembly merging
  • Improved assembly embedding
  • Improved conditional obfuscation by introducing three new keywords: matches, compiler-generated, obfuscator-generated (documentation)
  • Improved reflection analysis of enums
  • Improved reflection analysis of dynamic expressions
  • Fixed issue with embedding of satellite assemblies in SDK style projects

New in Eazfuscator.NET 2021.1 (May 16, 2021)

  • Preliminary support for .NET 6.0
  • Deterministic obfuscation
  • Function pointers support
  • Improved ASP.NET Core support
  • Improved JSON serialization support
  • Improved Entity Framework Core support
  • Improved run-time performance of string encryption on multi-core processor systems
  • Improved reflection analysis for LINQ expressions
  • Improved deduction of assembly and manifest signing parameters
  • Fixed issue with LINQ expressions that could lead to StackOverflowException during obfuscation
  • Fixed multiple issues with code inlining that could occur in scenarios with generic parameters
  • Fixed assembly merging issue with assembly resolution
  • Fixed assembly merging issue with internalized types exposed by public members of a target assembly

New in Eazfuscator.NET 2020.4 (Dec 27, 2020)

  • Stack trace passwords management
  • JetBrains Rider 2020.3 support
  • Improved .NET 5.0 support
  • Improved .NET Core support
  • Improved Xamarin support
  • Improved obfuscation coverage of types implementing INotifyPropertyChanged interface
  • Improved obfuscation coverage of app settings classes
  • Improved handling of embedded compiler-generated attributes that affect language semantics
  • Fixed issue that could lead to a loss of type information for boxed enum values in custom attribute declarations
  • Fixed issue with nullability annotations on generic parameters
  • Fixed issue with merging of compiler-generated types
  • Fixed issue with forwarded types
  • Fixed VM issue that could lead to InvalidOperationException during type conversion operations
  • Fixed issue with template specifiers parsing that could cause "An item with the same key has already been added" error during obfuscation
  • Fixed issue that might lead to an error during opening a web link from Eazfuscator.NET Assistant
  • Fixed issue with .NET Framework 4.7.2 prerequisite detection in Eazfuscator.NET Setup

New in Eazfuscator.NET 2020.3 (Oct 10, 2020)

  • .NET 5.0 support
  • JetBrains Rider 2020.2 support
  • Improved .NET Standard 1.0 - 2.1 support
  • Improved performance during obfuscation of .NET Core and .NET Standard assemblies
  • Improved documentation
  • Fixed issue with dynamic expressions that could lead to BadImageFormatException error during runtime
  • Fixed issue that could lead to inconsistent renaming of fields with compiler-controlled accessibility
  • Fixed issue with enabling code virtualization in Unity projects with .NET Standard backend
  • Fixed PDB serialization issue that could lead to "Too many directory blocks" error during obfuscation
  • Fixed VM issue with structures passed by reference that could lead to an error during obfuscation
  • Fixed several issues that caused .NET Native tool-chain to fail on obfuscated assemblies
  • Fixed issue with closure conditional obfuscation variable not working for generic closures
  • Fixed issue that could lead to assembly resolution error during obfuscation of a .NET Standard assembly
  • Fixed CVE-2018-1002208 vulnerability in a component used by Eazfuscator.NET

New in Eazfuscator.NET 2020.2 (Jul 17, 2020)

  • Preliminary support for .NET 5.0
  • JetBrains Rider 2020.1 support
  • Automatic reflection analysis of asynchronous code
  • File mask syntax for assembly merging and embedding directives
  • Improved .NET Core 2.x and 3.x support
  • Improved JSON serialization support
  • Improved data contract serialization support
  • Improved support for MEF
  • Improved support for VSIX projects
  • Improved reflection analysis of LINQ expressions
  • Improved handling of the code produced by Roslyn v16.6+ compilers
  • Improved documentation
  • Fixed issue with serialization of security permissions of .NET Standard assemblies
  • Fixed issue with dependency manifest (.deps.json) remastering that could occur when dereferenced assembly name did not correspond to a NuGet package name
  • Fixed issue with dependency manifest (.deps.json) remastering that could occur when dereferenced package was a dependency of another dereferenced package
  • Fixed issue that could lead to 'Type must be a type provided by the runtime.' error during obfuscation
  • Fixed VM issue that could lead to 'An attempt was made to load a program with an incorrect format' error during obfuscation
  • Fixed issue in Eazfuscator.NET SDK for Java that prevented it from working with Java 11+

New in Eazfuscator.NET 2020.1 (Mar 30, 2020)

  • JetBrains Rider 2019.3 support
  • Unity 2019.3 support
  • Data virtualization now supports System.TimeSpan and enum types
  • Automatic assembly dependency manifest (.deps.json) remastering for .NET Standard and .NET Core targets
  • Code completion for Eazfuscator.NET properties in MSBuild project files
  • Amplified key material extraction for predicates containing and boolean operators in homomorphically encrypted regions of code
  • Changed system requirements: Windows 7 SP1+, .NET Framework 4.7.2+
  • Improved .NET Core 3.0 and 3.1 support
  • Improved .NET Standard 2.1 support
  • Improved Entity Framework Core support
  • Improved Visual Studio integration
  • Improved reflection analysis of dynamic expressions
  • Improved obfuscation coverage of compiler generated attributes
  • Fixed issue with Eazfuscator.NET console encoding
  • Fixed race condition that could occur on concurrent launches of an obfuscated app that used assembly embedding with [load-from-file] flag
  • Fixed issue that could lead to 'Unsupported type argument in custom attribute signature' error during obfuscation of .NET Core 3.0+ and .NET Standard 2.1+ assemblies
  • Fixed issue that could lead to a slow unbounded memory growth in the long-running multi-threaded virtualized code under specific conditions

New in Eazfuscator.NET 2019.4 (Dec 4, 2019)

  • Blazor support
  • NET Core 3.1 support
  • Unity 2019.2 support
  • Out of the box support for System.Text.Json
  • Improved ASP.NET Core support
  • Improved ASP.NET support
  • Improved JSON serialization support
  • Improved XML serialization support
  • Improved compatibility with .NET Framework SDK 4.8
  • Fixed issue that occurred during obfuscation of .NET Standard 2.0 assemblies when only .NET Core SDK 3.0 was installed
  • Fixed VM issue that could lead to InvalidCastException error during runtime
  • Fixed issue with absence of proper code access security attributes in the code injected by Eazfuscator.NET for .NET Standard assemblies
  • Fixed issue in MSBuild interoperability with PostSharp 6.0+

New in Eazfuscator.NET 2019.3 (Sep 30, 2019)

  • Visualization of homomorphically encrypted regions of code
  • .NET Core 3.0 support
  • .NET Standard 2.1 support
  • Visual Studio 2019 version 16.3+ support
  • JetBrains Rider 2019.2 support
  • Added ability to mark static method as a module initializer
  • Improved ASP.NET Core support
  • Improved .NET Native support
  • Improved Visual Studio integration
  • Improved homomorphic encryption coverage
  • Fixed issue with a locked file that could occur during update installation
  • Fixed issue in method overload matching of ref readonly return types
  • Fixed bug that could lead to an issue with default values of optional method parameters
  • Fixed VM issue that might occur in compiler-generated async state machine code
  • Fixed XML Documentation Filter issue with nested generic classes
  • Fixed XML Documentation Filter issue that occurred in MSBuild project integration mode
  • Fixed XAML issue that could lead to "Unknown BAML record type 0x22" error during obfuscation
  • Fixed issue with .NET Core reflection introspection
  • Fixed issue with .NET Native compilation that could occur when code control flow obfuscation was on
  • Fixed issue with UWP assembly merging that could lead to an endless loop in merger

New in Eazfuscator.NET 2019.2 (Jun 20, 2019)

  • JetBrains Rider 2019.1 support
  • .NET Framework 4.8 support
  • Improved Visual Studio 2019 support
  • Improved .NET Core 2.2 support
  • Improved reflection analysis for Windows Forms data binding semantics
  • Improved preliminary support for .NET Core 3.0
  • Fixed issue with .NET Core assemblies resolution
  • Fixed VM issue with System.Span<T> and System.ReadOnlySpan<T> types
  • Fixed VM issue with .NET Framework 4.0 assemblies that could lead to NullReferenceException during runtime under rare specific conditions
  • Fixed issue with MSBuild integration that occurred when Eazfuscator.NET target files were used under .NET Core MSBuild
  • Fixed issue that could lead to "The attribute 'Version' in element <PackageReference> is unrecognized" error during obfuscation

New in Eazfuscator.NET 2019.1 (Apr 1, 2019)

  • Homomorphic encryption for code and data
  • Visual Studio 2019 support
  • Preliminary support for .NET Core 3.0
  • Better code optimization
  • Changed system requirements: Windows 7, Windows Server 2008 R2, or higher
  • Improved .NET Standard support
  • Improved ASP.NET Core support
  • Improved VSIX projects support
  • Improved WiX Toolset projects support
  • Improved .NET Native support
  • Improved reflection analysis for LINQ expressions
  • Fixed issue with escaped URIs of XAML resources
  • Fixed VM issue that could lead to a race condition in virtualized code
  • Fixed VM issue with overloaded constructors that could lead to AmbiguousMatchException during run time
  • Fixed issue with resolution of assemblies residing in GAC

New in Eazfuscator.NET 2018.4 (Nov 24, 2018)

  • Elements of homomorphic code encryption
  • Automatic handling of Windows Forms data binding semantics
  • Better code optimization
  • Automatic support for delay signed assemblies
  • Preliminary .NET Core 2.2 support
  • Updated UWP support
  • Improved .NET Core 2.0 - 2.1 support
  • Improved Entity Framework support
  • Improved Entity Framework Core support
  • Improved Xamarin support
  • Improved reflection analysis for various serialization scenarios
  • Fixed VM issue with overloaded generic methods
  • Fixed issue that could lead to "Failed to create JavaTypeInfo for class: Illegal characters in path" error in Xamarin compilation step
  • Fixed issues with code virtualization that could occur during obfuscation of .NET Core 2.0 - 2.1 assemblies

New in Eazfuscator.NET 2018.3 Build 2018.3.302.24491 (Aug 16, 2018)

  • .NET Core 2.1 support
  • Unity 2018.2 support
  • Out-of-the-box support for Fody and PostSharp build tools
  • Added ability to check for closure criteria in conditional obfuscation of types
  • Added ability to separately control obfuscation of method parameters with parameters renaming and optional parameters pruning directives
  • Added automatic expansion of script and environment variables specified in ilmerge custom parameters directive
  • 64 bit is now the preferred mode of Eazfuscator.NET operation
  • Improved Visual Studio integration
  • Improved JSON serialization support
  • Improved reflection analysis for scenarios involving enums
  • Improved debug renaming behavior for method arguments: they are now renamed in accordance to a debug pattern to simplify the obfuscation diagnostics
  • Significantly improved obfuscation speed for some edge-case scenarios
  • Fixed issue with generic methods overloading
  • Fixed issue with serialization of enum array values in custom attributes
  • Fixed issue with a ref return type of a method annotated by modopt/modreq modifiers
  • Fixed issue that could lead to breaking of an indexer property when declaring type implemented several interfaces that defined such a property
  • Fixed issue with handling of InternalsVisibleTo attribute that could lead to an unexpected auto-sealing of an internal class under specific conditions
  • Fixed XAML issue with binding to a static property using a type-qualified path
  • Fixed VM issue with typeof() expressions for generic type definitions
  • Fixed MSBuild integration issue with F# .NET Core and .NET Standard projects

New in Eazfuscator.NET 2018.2 Build 2018.2.258.32511 (Aug 3, 2018)

  • .NET Framework 4.7.2 support
  • Unity 2018.1 support
  • Seamless integration with Unity
  • Preliminary support for .NET Core 2.1
  • Updated UWP support
  • .NET Compact Framework 3.9 support
  • Improved .NET Core support
  • Improved .NET Standard support
  • Improved ASP.NET Core support
  • Improved JSON serialization support
  • Improved XML serialization support
  • Fixed issue with case sensitivity in embedded resource renaming
  • Fixed issue with renaming of nested internal classes when InternalsVisibleTo attribute is applied to the assembly
  • Fixed issue that could lead to invalid system type references in obfuscated .NET Core assembly after merging
  • Fixed issue with renaming of generic methods that could lead to 'Duplicate method declaration' error during obfuscation
  • Fixed issue that could lead to WPF resources clash in merged assemblies
  • Fixed VM issue with type loading that might occur during obfuscation of a .NET Standard assembly
  • Fixed VM issue with comparision of enum values
  • Fixed VM issue with variadic functions
  • Fixed VM issue with nested struct modification propagation
  • Fixed various issues with merging of .NET Core and .NET Standard assemblies
  • Fixed issue with namespace resolution for UWP assemblies that reference Windows runtime components from packages

New in Eazfuscator.NET 2018.1 Build 2018.1.281.40486 (Feb 8, 2018)

  • .NET Framework 4.7.1 support
  • Unity 2017.3 support
  • Added out of the box support for RestSharp
  • Added ability to suppress warnings at class and member levels
  • New date-based version numbering system for Eazfuscator.NET starting with 2018.x for all releases in 2018
  • Significantly improved .NET Core support
  • Significantly improved .NET Standard support
  • Improved Entity Framework Core support
  • Improved obfuscation coverage of code produced by CCRewrite tool from Code Contracts toolkit
  • Fixed issue in assembly merger that could lead to unverifiable code generation
  • Fixed issue with NuGet and .NET Core that could lead to assembly resolution conflicts
  • Fixed issue with long P/Invoke DLL imports
  • Fixed obfuscation issue that could occur when .NET Core assembly referenced System.ValueTuple type
  • Fixed issue with assembly signining when AssemblyKeyFileAttribute is specified in the source code but MSBuild project parameters dictate that assembly should not be signed
  • Fixed issue with signature lookup of methods when they contained System.TypedReference arguments
  • Fixed issue with signature lookup of overloaded methods when they contained arguments of pointer types

New in Eazfuscator.NET 5.8 Build 5.8.263.8420 (Nov 3, 2017)

  • .NET Core 2.0 support
  • .NET Standard 2.0 support
  • New space-efficient stack trace encoding algorithm
  • Visual Studio solution folders are now understood by Eazfuscator.NET Assistant
  • Improved Visual Studio integration
  • Improved UWP support
  • Improved Xamarin support
  • Improved XML serialization support
  • Improved reflection analysis for scenarios involving reflection calls
  • Fixed issue that could cause Eazfuscator.NET Assistant window displacement in multi-monitor setup
  • Fixed issue with an invalid hash value for a sanitized XML documentation file in ClickOnce manifest
  • Fixed issue with virtualization of inlined methods
  • Fixed VM issue with .NET Framework 2.0 compatibility
  • Fixed VM issue with enum downcast to System.Enum
  • Fixed VM issue with value type downcast to System.ValueType
  • Fixed VM issue with read-only fields
  • Fixed issue with ref property types
  • Fixed issue that could lead to unverifiable code generation when assembly had AllowPartiallyTrustedCallers attribute
  • Fixed issue with handling of partially named value tuples
  • Fixed issue that could lead to "No assembly was read by type system engine" error during obfuscation
  • Fixed issue with const literal renaming when InternalsVisibleTo attribute was applied to the assembly

New in Eazfuscator.NET 5.7 Build 5.7.283.15973 (Jul 25, 2017)

  • .NET Framework 4.7 support
  • .NET Core support
  • .NET Standard support
  • Portable PDB support
  • Better code optimization. Added new hot spot optimizers
  • Improved Visual Studio 2017 support
  • Improved reflection analysis for C# dynamic expressions
  • Fixed issue with signature lookup of overloaded methods when they contain arguments annotated by modopt/modreq type modifiers
  • Fixed issue with signature lookup of vararg methods
  • Fixed bug in mkrefany IL instruction handling
  • Fixed bug in refanyval IL instruction handling
  • Fixed issue with obfuscation of nested anonymous objects
  • Fixed issue with inlining of methods declared in nested classes
  • Fixed rare issue in code optimizer that could lead to unverifiable code generation
  • Fixed VM issue with array initialization under Mono on Unix platforms
  • Fixed VM issue that could occur in Assembly.LoadFrom context
  • Fixed issue with obfuscation of an assembly containing a reference to a multi-module assembly

New in Eazfuscator.NET 5.1 Build 5.1.264.37708 (Dec 9, 2015)

  • Data virtualization
  • Application manifest sanitization
  • Satellite assemblies merging
  • .NET Framework 4.6.1 support
  • Windows 10 UWP and .NET Native support
  • Out of the box support for VSIX projects
  • Out of the box support for SQL Server database projects
  • Improved Visual Studio 2015 support
  • Improved JSON serialization support
  • Improved support for Caliburn.Micro MVVM framework
  • Improved obfuscation coverage
  • Other changes:
  • Improved support for COM interoperability types
  • Improved Windows 10 compatibility
  • Changed system requirements: Vista SP 2 or higher, .NET Framework 4.5 or higher
  • Built-in code optimizer now honors [MethodImpl(MethodImplOptions.NoOptimization)] attribute
  • /internalize flag specified in merger custom parameters now honors types excluded from internalization
  • Fixed issue with enum values in custom attributes
  • Fixed issue with assemblies merging and MDILProjectFiles.xml manifest in Windows Phone applications
  • Fixed VM issue with comparision of enum and int values
  • Fixed VM issue that might occur when store operation was performed on a field reference
  • Fixed issue with popup on Windows 10 that suggested to install .NET 3.5 when assembly merging was performed during obfuscation
  • Fixed issue with inherited interface methods renaming when they contained ref int and enum parameters in overloaded signatures
  • Fixed method inlining issue that could lead to unverifiable code generation
  • Fixed input file locking issue that could occur when obfuscation took place in TFS 2015 environment
  • Fixed issue with generic constraints and method overloading
  • Fixed issue when method arguments were renamed even when the declaring type had exclude 'all' obfuscation directive

New in Eazfuscator.NET 5.0 Build 5.0.88.12420 (Jul 31, 2015)

  • Visual Studio 2015 support
  • .NET Framework 4.6 support
  • Better metadata and code optimization. Added new hot spot optimizers
  • Improved reflection analysis
  • Improved XML documentation filter
  • Improved XML serialization support
  • Improved JSON serialization support
  • Improved Xamarin support
  • Fixed issues:
  • Fixed issue with partial name resolution of embedded strongly-named assemblies
  • Fixed VM issue with multidimensional arrays of complex value types
  • Fixed XAML issue with string format in binding expression
  • Fixed issue with XML documentation pruning for types derived from non-browsable types
  • Fixed issue with WinRT applications produced by Visual Studio 2015
  • Fixed issue with merging of Portable Class Libraries that target Windows 8.0, 8.1 or Windows Phone 8.1
  • Fixed assembly merging issue with XAML resources
  • Fixed issue with generic type signatures that might occur during assembly merging

New in Eazfuscator.NET 4.9 Build 4.9.98.31480 (May 20, 2015)

  • Visual Studio 2015 RC support. Please note that if you plan to use Visual Studio 2015 RC or higher for production purposes then Eazfuscator.NET version 4.9 or higher is the requirement. More info on Roslyn compilers and obfuscation
  • .NET Framework 4.6 support
  • Improved obfuscation coverage of enums
  • Improved virtualized code execution performance
  • Improved MSBuild integration
  • Fixed issues:
  • Fixed XAML issue with attached properties in the left side of assignment statements that include markup extensions on the right side
  • Fixed XAML issue with properties represented by GetXXX and SetXXX methods
  • Fixed XAML issue with null collections
  • Fixed VM issue with ref arguments of System.Object type
  • Fixed VM issue with ref arguments of nullable value types
  • Fixed VM issue with type-constrained virtual calls
  • Fixed issue with methods that implement IDispatch/Dual COM interfaces
  • Fixed race condition in PDB file processing pipeline
  • Fixed issue with PDB files generated by Roslyn compilers
  • Fixed issues with --configuration-file command line option

New in Eazfuscator.NET 4.8 Build 4.8.139.11921 (Mar 21, 2015)

  • Visual Studio 2015 support
  • Improved Entity Framework support
  • Improved XML serialization support
  • Improved obfuscation coverage of imported COM types
  • Improved obfuscation coverage of web service proxy classes
  • Improved size efficiency of symbol names encryption
  • Improved debugging support
  • Other changes:
  • Improved documentation
  • Public API surface is automatically shrunk when design-time usage protection is on
  • Fixed issue that could lead to "Invalid PE file" error during obfuscation
  • Fixed BAML serialization issue with x:Shared property of resource dictionary item
  • Fixed type loading issue during XAML obfuscation that could occur for generic types specialized by WinRT types
  • Fixed issue that might lead to packaging of an unobfuscated .exe assembly into ClickOnce package when build was performed with Visual Studio 2013 Update 4 or higher
  • Fixed issue with custom publisher name in resigned ClickOnce manifests
  • Fixed assembly merging issue for .NET 4.5.1 + Windows 8.1 portable class libraries
  • Fixed issue with interface implementations in Windows Runtime Component assemblies that could lead to System.MissingMethodException
  • Fixed issue with conditional obfuscation diagnostics that occured when Exclude property of ObfuscationAttribute had true value.

New in Eazfuscator.NET 4.7 Build 4.7.115.31622 (Jan 6, 2015)

  • Out of the box support for F# assemblies
  • Design-time usage protection
  • Improved reflection analysis for enums
  • Improved debugging support
  • Improved virtualized code density and execution performance
  • Improved support for JSON serializers
  • Improved Entity Framework support
  • Improved obfuscation coverage for Unity assemblies
  • Other changes:
  • Fixed issue with location of Eazfuscator.NET Assistant window in multi-monitor setup
  • Fixed issue that could lead to EF-1099 error during obfuscation of Profile32 portable libraries
  • Fixed issue that could lead to 'unresolved global member ref 'Format' error during obfuscation of portable libraries
  • Fixed issue with handling of generic types in Windows Runtime Component assemblies that could lead to an error during obfuscation
  • Fixed issue with assembly embedding partial name resolution for strongly-named satellite assemblies
  • Fixed VM issues with generic method signature lookup
  • Fixed VM issue that could lead to unverifiable code generation
  • Fixed issue with tail calls and control flow obfuscation that could lead to unverifiable code generation
  • Fixed F# SDK assembly resolving issue that might lead to a wrong FSharp.Core assembly reference

New in Eazfuscator.NET 4.6 Build 4.6.128.4638 (Oct 15, 2014)

  • Out-of-the-box support for Entity Framework
  • Visual Studio 14 CTP support
  • Added support for mixed-mode assemblies with native DLL exports
  • Added ability to resign output assembly with a different private key
  • Added generic variable for conditional obfuscation of members
  • Improved obfuscation coverage of [Serializable] classes
  • Improved embedding of multi-targeted native assemblies
  • Improved obfuscation speed
  • Improved documentation
  • Other changes:
  • Virtualization is now allowed for Unity platform
  • NXCOMPAT executable module flag is now preserved after obfuscation
  • Fixed the issue of not obfuscating the resulting AppX package when Store App project is built from the command line with MSBuild
  • Fixed rare issue with optimization that could produce unverifiable code
  • Fixed VM issue with Assembly.GetCallingAssembly method
  • Fixed VM issue with MethodBase.GetCurrentMethod method
  • Fixed VM issue with TypedReference
  • Fixed VM issue with non-int enums
  • Fixed VM issue with ref/out arguments and exceptions
  • Fixed issue with automatic assembly signing parameters extraction for some rare but valid MSBuild project formats
  • Fixed XAML issue with ResourceDictionary source URIs that might stay uncovered after assembly merging
  • Fixed XAML issue with classes inherited from ResourceKey and TemplateKey types
  • Fixed issue with generic type signatures that might occur during assembly merging
  • Fixed a bug in overload matching for specialized generic return types
  • Fixed issue that might lead to unverifiable code generation when input assembly was preprocessed by Fody PropertyChanged weaver
  • Fixed issue with unicode file paths that can be wrongfully distorted by MSBuild. The issue led to 'File not found' error during obfuscation

New in Eazfuscator.NET 4.5 Build 4.5.83.32964 (Jul 18, 2014)

  • FIPS compliance
  • .NET Framework 4.5.2 support
  • Windows Phone 8.1 support
  • Improved Windows Store applications support
  • Improved XML serialization support
  • Improved reflection analysis for enums
  • Other changes:
  • Fixed control flow obfuscation issue with Mono
  • Fixed issue with renaming of custom attribute fields
  • Fixed issue with renaming of classes in generic constraints when they have no namespaces
  • Fixed issue with portable class libraries that target Profile32
  • Fixed issue with processing of long embedded resource names
  • Fixed issue with security declarations
  • Fixed issue that occured during obfuscation of Windows Phone 8.1 class libraries
  • Fixed assembly loading issue that may occur during obfuscation of Windows Phone 8.0 and 8.1 class libraries

New in Eazfuscator.NET 4.4 Build 4.4.45.22507 (May 20, 2014)

  • Universal Windows Apps support
  • New compatibility mode and improved heuristics for VB.NET code that strongly relies on late binding
  • Added anonymous and generic variables for conditional obfuscation of types
  • Fixed issues:
  • Fixed XAML issue with duplicate XML namespaces
  • Fixed XAML issue with handling of binding relative sources
  • Fixed XAML issue with multiple generic specializations
  • Fixed issue with possible resource name clash in resource encryption
  • Fixed issue with processing of malformed KnownTypeAttribute declarations on data contract serializable types
  • Fixed issue with [Flags] attribute that might be pruned from a public enum in a class library
  • Fixed issue that might lead to stack overflow exception during obfuscation
  • Fixed issue with signature lookup of overloaded generic methods when they contain ref arguments of generic types
  • Fixed issue with Portable Class Libraries (PCL) that might lead to assembly loading error during obfuscation

New in Eazfuscator.NET 4.3 Build 4.3.97.35172 (Mar 20, 2014)

  • NuGet deployment
  • Out of the box support for VB.NET late binding expressions
  • New code optimizations. Dead code elimination in method scope
  • Improved support for Unity projects
  • Other changes:
  • Added ability to exclude merged classes from internalization
  • Added ability to remove custom attributes by given conditions
  • Added ability to set FamANDAssem visibility level for specified class members
  • Fixed issue with method parameter renaming
  • Fixed issue with signature lookup of overloaded generic methods
  • Fixed VM issue with code verifiability
  • Fixed VM issue with ref arguments and exceptions
  • ixed VM issue with references in local variables
  • Fixed 'method definition not found' issue that might occur during virtualization of inlined methods
  • Fixed obfuscation of assemblies produced by Unity when target is Windows Store
  • Fixed issue with XML documentation filter and VB.NET projects when output assembly name contains spaces

New in Eazfuscator.NET 4.2 Build 4.2.80.40623 (Jan 18, 2014)

  • Method inlining
  • Improved support for ClickOnce and VSTO projects
  • Improved support for data contract serialization
  • Improved speed of XAML obfuscation
  • Improved support for Unity and Xamarin projects
  • Automatic Windows Phone tombstone serialization heuristics
  • Other changes:
  • Added new $(ConfigurationName) script variable
  • Added ability to use relative file paths in .PDB files. This feature is controlled by new relative_file_paths flag
  • Added command line option that allows to specify configuration file in C# or VB.NET format with a list of assembly attributes for obfuscation
  • Improved documentation
  • Fixed 'this type cannot be an interface itself' issue
  • Fixed issue with referenced third party components that contain .XBF files for Windows Store 8.1 applications
  • Fixed rare but critical issue with broken code semantics
  • Fixed issue with Windows Phone incremental deployment and encrypted symbol names
  • Fixed issue with .PDB file serialization
  • Fixed issue with signature lookup of overloaded generic methods when they contain variance modifiers
  • Fixed 'Silverlight 2.0 SDK is not found' issue during obfuscation of Unity and Xamarin assemblies

New in Eazfuscator.NET 4.1 Build 4.1.166.6277 (Dec 16, 2013)

  • Unity gaming engine support
  • Improved support for XAML and web services on WinRT platform
  • Improved support for JSON serializers
  • Improved filtering of XML documentation generated by F# compiler
  • Improved pruning of .NET metadata
  • Assembly merging now understands script variables
  • Added has_attribute function for conditional obfuscation
  • Fixed issues with implicit interface mapping
  • Fixed issue with equivalence of imported COM types
  • Fixed support for newer versions of Microsoft.Bcl and Microsoft.Bcl.Async NuGet packages when build machine has .NET 4.5 installed and project targets .NET 4.0
  • Fixed obfuscation hang for some applications when debug renaming feature was active
  • Fixed handling of ObfuscateAssembly attribute for Silverlight
  • Fixed assembly merging for WinRT
  • Fixed assembly merging issue when unverifiable code was produced for external field references flavored by volatile modifiers
  • Fixed XAML issues with forwarded types
  • Fixed XAML issues with generics
  • Fixed XAML issue with custom resource markup extension
  • Fixed XAML XBF issues for Windows 8.1 Store Apps
  • Fixed VM issue with call instruction for instance method when this pointer is null
  • Removed dependency on ILMerge tool for assembly merging

New in Eazfuscator.NET 4.0 Build 4.0.94.30777 (Sep 19, 2013)

  • Visual Studio 2013 support
  • NET Framework 4.5.1 support
  • Improved XAML property path analysis
  • Improved support for ClickOnce
  • Fixed issues:
  • Fixed issue with VSTO projects
  • Fixed issue with signature lookup of generic methods when they contain several generic parameters. The issue occured for assemblies processed by PostSharp
  • Fixed XAML issue with attached properties defined in internal classes
  • Fixed XAML issues with data binding
  • Fixed VM issue with COM types casting
  • Fixed VM issue with implicit operators of nullable types
  • Fixed VM concurrency issue with calls to methods of System.Threading.Interlocked type
  • Fixed Eazfuscator.NET Assistant UI issues for DPI resolutions other than 96

New in Eazfuscator.NET 3.9 Build 3.9.39.37916 (Jul 16, 2013)

  • Out of the box support for Caliburn.Micro MVVM framework
  • Improved support for JSON serializers
  • Improved support for LINQ data context
  • Added preliminary support for Xamarin projects
  • Fixed issues:
  • LARGE_ADDRESS_AWARE, NET_RUN_FROM_SWAP and REMOVABLE_RUN_FROM_SWAP module flags are now preserved after obfuscation
  • Fixed issue with Windows Phone 8 applications when they reference XNA assemblies
  • Fixed potential 'Process terminated due to StackOverflowException' issue during JSON serialization analysis
  • Fixed issue during obfuscation that occurs when processed assembly uses Microsoft.Bcl.Async NuGet package and targets .NET 4.0
  • Fixed issue with resource encryption when one of the assembly embedded resources had a ',' character in its name
  • Fixed issue with pruning of enum fields when InternalsVisibleTo attribute is applied to the assembly
  • Fixed issue with duplicate parameter names for PInvoke method
  • Fixed various XAML issues

New in Eazfuscator.NET 3.7 Build 3.7.89.21401 (Mar 19, 2013)

  • New code optimizations
  • Out of the box support for SQL CLR assemblies
  • Improved XAML renaming
  • Eazfuscator.NET SDK for Java
  • Added immediate_load option for assembly embedding
  • Fixed issues:
  • Fixed string processing for some rare tokens with escape symbols
  • Fixed issue during processing of satellite resource assemblies
  • Fixed renaming of loose type names in custom attributes
  • Fixed XAML processing of elements that have a content property set several times
  • Fixed XAML processing of attached properties
  • Fixed XAML processing of empty complex properties
  • Fixed VM issue with lost exception stack trace entries
  • Fixed VM issue with boolean type checks
  • Fixed assembly embedding issue for assemblies referenced by XAML

New in Eazfuscator.NET 3.6 Build 3.6.64.40565 (Dec 18, 2012)

  • XAML renaming for Silverlight, Windows Phone and WinRT applications
  • Windows Phone 8 support
  • Portable Class Libraries support
  • Secure debugging
  • Out of the box support for custom marshalers
  • Improved XAML renaming for WPF applications
  • Fixed issues:
  • Fixed NullReferenceException issue during obfuscation of some WPF applications
  • Fixed assemblies merging for WPF assemblies
  • Fixed renaming of custom attribute properties when attribute is defined in input assembly
  • Fixed ClickOnce manifest updating for .NET 4.5 assemblies
  • Fixed VM issue with nested exception handlers
  • Fixed VM issue with nullable types
  • Fixed VM issue with exceptions which are not derived from System.Exception

New in Eazfuscator.NET 3.5 Build 3.5.59.9864 (Oct 2, 2012)

  • XAML renaming for WPF applications
  • 200% speed improvement of virtualized code
  • Better code optimization. Added new hot spot optimizers
  • Improved XML serialization support
  • Fixed issues:
  • Fixed rare 'Ambiguous match found' issue
  • Fixed issue with evaluation message which can be unexpectedly shown during uninstall
  • Fixed issue with overloaded methods in VM
  • Fixed reflection issues when input assembly uses the assemblies with the same identities which are used by Eazfuscator.NET
  • Fixed issue in LINQ to SQL renaming
  • Fixed issue with method signature lookup during obfuscation and VM runtime for types with specifiers
  • Fixed licensing issue when Eazfuscator.NET is run from SYSTEM account by a build server
  • Fixed rare issue when virtualization produced unverifiable code for some methods
  • Fixed issue with interop array marshalling
  • Fixed issue with ildasm crash for some .NET 2.0/3.5 assemblies
  • Fixed rare issue with method renaming for classes inherited from MarshalByRefObject
  • Fixed minor issue with optimizer which can rarely lead to unverifable code generation
  • Fixed issue with updater which can unexpectedly run during install and uninstall
  • Fixed issue with custom attributes' named properties and fields of array type
  • Fixed issue with custom configuration sections and custom attributes
  • Fixed overload method lookup issue when argument is a generic parameter of declaring type, and declaring type has large number of generic parameters
  • Fixed optimizer issue when obfuscation fails on some code statements with a message 'Index was out of range. Must be non-negative and less than the size of the collection.'
  • Fixed rare issue with generic method signatures during code injection
  • Fixed certification issues for WinRT applications
  • Fixed support of extension SDKs for WinRT applications
  • Fixed compatibility issue when trying to merge .NET 4.0 assemblies on a machine with installed .NET 4.5
  • Fixed certification issues for WinRT class libraries
  • Fixed obfuscation support for WinRT components
  • Fixed VM issue with array access
  • Fixed VM issue with Windows XNA applications
  • Fixed VM issue with array creation when length argument is UInt32
  • Fixed VM issue with dynamically loaded assemblies
  • Fixed VM issue with .NET framework retargeting
  • Fixed analysis for merged assemblies
  • Fixed WinRT store submission issue which sometimes led to vague error message on application upload

New in Eazfuscator.NET 3.4 Build 3.4.88.12836 (Jul 5, 2012)

  • Improved VM performance
  • Fixed overload method lookup issue when argument is a generic parameter of declaring type, and declaring type has large number of generic parameters
  • Fixed optimizer issue when obfuscation fails on some code statements with a message 'Index was out of range. Must be non-negative and less than the size of the collection.'

New in Eazfuscator.NET 3.3 Build 3.3.130.11297 (Mar 8, 2012)

  • Code optimizer. Delivers great speed to your apps
  • Control and data flow analysis. Delivers better reflection support
  • Greatly improved support of self-hosted WCF services
  • XNA 4 support
  • Silverlight 5 support
  • Windows SDK 8.0 support
  • Visual Studio 11 support
  • Other changes:
  • Neutral mode is the default one for assembly loader now. This solves architecture dependency issues, and now it is possible to obfuscate 64 bit assemblies on 32 bit machines
  • Fixed template method signature lookup issue
  • Fixed bug in template constraints rewriting
  • Fixed own satellite assemblies embedding issue introduced in 3.2
  • Fixed a reflection analysis issue for Windows Phone apps introduced in 3.2
  • Fixed issues with overloaded methods in XML Documentation Filter

New in Eazfuscator.NET 3.2 Build 3.2.278.32704 (Feb 2, 2012)

  • Debug renaming
  • Native modules embedding
  • Rule-based conditional obfuscation for type members
  • PE32+ executable file format support
  • Post-mortem expert analysis feature. The built-in knowledge base is used to give a relevant hint to user when a tricky obfuscation error occurs
  • Script variables in declarative obfuscation attributes
  • Improved string encryption
  • Improved obfuscation of enums
  • Improved LINQ to SQL analysis engine
  • Improved reflection analysis engine for toolbox item bitmaps
  • Other changes:
  • Added ability to embed own satellite assemblies
  • Added ability to treat warnings as errors
  • Added ability to define probing paths by declarative obfuscation attributes
  • Added automatic workaround for VSTO projects integration issue
  • Added 'load_from_file' flag for assembly embedding
  • Added support for synergistical interoperation between CodeDom compilation and assembly embedding
  • Added support for embedding satellites of assemblies resided in GAC
  • Added extends('...') function to conditional obfuscation syntax
  • Declarative obfuscation attributes at assembly level from merged assemblies are now considered too
  • Changed Eazfuscator.NET redistribution terms in EULA
  • Fixed MEF ImportMany semantics handling
  • Fixed an error during obfuscation of Compact Framework assemblies. Sometimes it failed with a common message "Method 'A' in type 'B' from assembly 'C' does not have an implementation"
  • Fixed bug in renaming of nested generic constraints
  • Fixed bug in handling of '[in][out][opt]' method argument signature
  • Fixed bug in renaming of generics with multiple interface constraints
  • Fixed issue with renaming of interface methods when implicit implementations from external assemblies are involved
  • Fixed bug in 'endfilter' IL instruction handling
  • Fixed bug in overloaded signature lookup of generic return types
  • Fixed various modopt signature issues
  • Fixed anonymous types handling in Compact Framework assemblies
  • Fixed edge cases when assembly can become logically broken and unverifiable when custom [Obfuscation] attributes are applied to the bottom class of the class hierarchy
  • Fixed method signature lookup when it contains ByRef template parameter
  • Fixed declarative obfuscation support for VB.NET when corresponding attributes were defined in input assembly. The VB.NET code snippet at %ProgramFiles%\Eazfuscator.NET\Code Snippets\VB.NET\ObfuscationAttributes.vb was accordingly fixed too. This applies to Silverlight, Windows Phone and Compact Framework VB.NET projects only
  • Fixed method lookup issue when a class implements the same generic interface several times but with different generic parameters

New in Eazfuscator.NET 3.1 (Feb 2, 2012)

  • Resource encryption and compression
  • Out of the box support for Managed Extensibility Framework (MEF)
  • Rule-based conditional obfuscation
  • Code control flow obfuscation produces fully verifiable code
  • Windows SDK 7.1 support
  • Improved multi-core performance
  • Improved obfuscation of PInvoke methods
  • Improved string encryption
  • Improved support for LINQ
  • Improved support for Web services
  • Improved support for Component Designer
  • Improved serialization analysis engine
  • Assemblies embedding improvement: corresponding satellite assemblies are embedded automatically
  • Fixed bugs:
  • Fixed declarative obfuscation for merged assemblies in constrained environments (Silverlight, Windows Phone, Compact Framework, XBox)
  • Fixed issues with assemblies generated by Delphi Prism
  • Fixed assembly resolution issue
  • Fixed bug in XML serialization of nested classes
  • Fixed bug in handling of class template constraints
  • Fixed bug in handling of exception classes without namespace
  • Fixed bug in overload searching of XML Documentation Filter
  • Fixed assembly embedding on Mono
  • Fixed bugs in interface mapping handling
  • Fixed issue in assembly merging with key container assembly signing
  • Fixed issue with string encryption and culture-specific equal characters, such as 'ß' and 'ss'

New in Eazfuscator.NET 3.0 (Feb 2, 2012)

  • Assemblies embedding with encryption and compression
  • Debugging support
  • String compression
  • PEVerify integration
  • Improved ILMerge install location detection
  • Improved assembly resolution. As a result, this fixes the issues with obfuscating addins for Autodesk products
  • Improved support for WCF services
  • Improved reflection analysis
  • Improved and updated documentation
  • Embedded and merged assemblies are automatically removed from XAP packages
  • Fixed assembly merging for Silverlight projects
  • Fixed CLR verification issues