What's New in Eazfuscator.NET

  • Eazfuscator.NET 5.5
    January 19, 2017
    • .NET Standard support
    • Visual Studio 2017 RC support
    • Out of the box support for Windows Installer XML custom action projects
    • Added readonly variable for conditional obfuscation of fields and properties
    • Improved VSIX projects support
    • Improved Visual Studio integration
    • Fixed issue with WPF resources defined in satellite assembly
    • Fixed issue with obfuscation of custom attribute member initializers when they followed a null string value
    • Fixed issue with LINQ expression tree properties
    • Fixed issue with const literals referenced by x:Static XAML markup extension
    • Fixed issue with constructor virtualization when declaring class is derived from generic base class
    • Fixed issue with portable class libraries that target Profile47
    • Fixed issue with optional method parameters passed by reference
    • Fixed issue with string encryption initialization under Mono on Linux
  • Eazfuscator.NET 5.4
    October 4, 2016
    • .NET Framework 4.6.2 support
    • Out of the box support for Entity Framework Core
    • Obfuscation attributes prioritization
    • Automatic authenticode signing of obfuscated ClickOnce assemblies when corresponding certificate is specified in Visual Studio project settings
    • Preliminary support for Visual Studio "15" Preview
    • Improved Visual Studio integration
    • Improved compatibility with .NET Native
    • Improved LINQ to SQL support
    • Improved reflection analysis for LINQ expressions
    • Fixed issue with lost calling convention of calli instruction's operand
    • Fixed issue that occured when trying to obfuscate UWP assemblies with a NuGet reference to Microsoft.NETCore.UniversalWindowsPlatform 5.2.2 package
    • Fixed issue that could lead to endless loop during analysis of IL code
    • Fixed issue that could lead to exception during obfuscation related to serialization of assembly custom attributes in .netmodule files
    • Fixed issue in Visual Studio extension that could lead to error dialogs in Visual Studio 2015 versions prior to Update 1
    • Fixed issue with ClickOnce manifests and timestamp server URL which might not be considered during obfuscation
    • Fixed issue with NuGet package assemblies resolution
    • Fixed issue that could lead to exception "A numeric comparison was attempted on A.B that evaluates to X.Y instead of a number" during obfuscation. The issue was caused by MSBuild integration subsystem of Eazfuscator.NET and manifested itself with UWP and PCL projects when Visual Studio 2015 Update 3 was installed on developer machine
  • Eazfuscator.NET 5.3
    June 15, 2016
    • Deeper Visual Studio integration
    • Resource sanitization
    • Out of the box support for ServiceStack framework
    • Automatic handling of NuGet 3 project semantics
    • Better code optimization. Added new hot spot optimizers
    • Greatly improved reflection analysis for scenarios involving reflection calls
    • Improved JSON serialization support
    • Improved support for Unity projects
    • Fixed issue that occured when trying to add protection to UWP 1.3 projects
    • Fixed issue with design-time usage protection option and methods marked with System.Web.Services.WebMethodAttribute
    • Fixed regression that could lead to StackOverflowException during obfuscation under some rare circumstances
    • Fixed rare issue that could lead to race condition during obfuscation
    • Fixed issue with inlining of entry point methods
  • Eazfuscator.NET 5.2
    March 17, 2016
    • Data virtualization now supports strings, Guids and arrays of primitive types
    • .netmodule files support
    • Out-of-the-box support for Microsoft Unity Container
    • Added ability to check for const criteria in conditional obfuscation of members
    • Improved support for Protocol Buffers, XML and other serializers
    • Improved support for MEF
    • Improved configuration flexibility for resource encryption
    • Improved user interface for remote desktop sessions on Windows 8 and later
    • Fixed issue with renaming of WinRT type references in custom attributes
    • Fixed issue that could lead to QueryInterface failures in COM interop types
    • Fixed issue with inlining of a method declared in generic class
    • Fixed issue with VB.NET WithEvents expressions
    • Fixed issue with virtualization of generic array types
    • Fixed issue with Remember password option in stack trace decoder window
    • Fixed issue with diamond interface inheritance
    • Fixed issue with auto discovery of a signing key
    • Fixed Eazfuscator.NET Assistant UI issues for custom DPI resolutions
  • Eazfuscator.NET 5.1
    December 4, 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
    • Built-in code optimizer now honors [MethodImpl(MethodImplOptions.NoOptimization)] attribute
    • /internalize flag specified in merger custom parameters now honors types excluded from internalization
    • Improved Visual Studio 2015 support
    • Improved JSON serialization support
    • Improved support for Caliburn.Micro MVVM framework
    • Improved obfuscation coverage
    • Improved support for COM interoperability types
    • Improved Windows 10 compatibility
    • Changed system requirements: Vista SP 2 or higher, .NET Framework 4.5 or higher
    • 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
  • Eazfuscator.NET 5.0
    July 20, 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 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
  • Eazfuscator.NET 4.9
    May 19, 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 preliminary support
    • Improved obfuscation coverage of enums
    • Improved virtualized code execution performance
    • Improved MSBuild integration
    • 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
  • Eazfuscator.NET 4.8
    March 20, 2015
    • Visual Studio 2015 Preview support
    • Public API surface is automatically shrunk when design-time usage protection is on
    • 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
    • Improved documentation
    • 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
  • Eazfuscator.NET 4.7
    January 5, 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
    • 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
  • Eazfuscator.NET 4.6
    October 14, 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
    • Virtualization is now allowed for Unity platform
    • NXCOMPAT executable module flag is now preserved after obfuscation
    • Improved obfuscation coverage of [Serializable] classes
    • Improved embedding of multi-targeted native assemblies
    • Improved obfuscation speed
    • Improved documentation
    • 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
  • Eazfuscator.NET 4.5
    July 17, 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
    • 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
  • Eazfuscator.NET 4.4
    May 19, 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 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
  • Eazfuscator.NET 4.3
    March 20, 2014
    • NuGet deployment
    • Out of the box support for VB.NET late binding expressions
    • New code optimizations. Dead code elimination in method scope
    • 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
    • Improved support for Unity projects
    • 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
    • Fixed 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
  • Eazfuscator.NET 4.2
    January 17, 2014
    • Method inlining
    • Automatic Windows Phone tombstone serialization heuristics
    • Added new $(ConfigurationName) script variable
    • Added ability to use relative file paths in .PDB files. This feature is controlled by a 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 support for ClickOnce and VSTO projects
    • Improved support for data contract serialization
    • Improved speed of XAML obfuscation
    • Improved support for Unity and Xamarin projects
    • 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
  • Eazfuscator.NET 4.1
    November 17, 2013
    • Unity gaming engine support
    • Assembly merging now understands script variables
    • Added has_attribute function for conditional obfuscation
    • 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
    • Removed dependency on ILMerge tool for assembly merging
    • 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
  • Eazfuscator.NET 4.0
    September 17, 2013
    • Visual Studio 2013 support
    • .NET Framework 4.5.1 support
    • Improved XAML property path analysis
    • Improved support for ClickOnce
    • 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
  • Eazfuscator.NET 3.9
    July 15, 2013
    • Out of the box support for Caliburn.Micro MVVM framework
    • Added preliminary support for Xamarin projects
    • LARGE_ADDRESS_AWARE, NET_RUN_FROM_SWAP and REMOVABLE_RUN_FROM_SWAP module flags are now preserved after obfuscation
    • Improved support for JSON serializers
    • Improved support for LINQ data context
    • 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
  • Eazfuscator.NET 3.8
    May 17, 2013
    • Out of the box support for popular JSON serializers
    • Automatic renaming of argument exception parameters
    • Added ability to prevent SuppressIldasmAttribute injection
    • Improved SQL CLR support
    • Fixed rare but critical issue with broken code semantics
    • Fixed XAML serialization of attached properties for Windows Phone 7.0 and Silverlight 2 and 3
    • Fixed XAML issue with field, property and event name collisions
    • Fixed XAML renaming of nested types
    • Fixed BAML serialization issue that led to 'Index was outside the bounds of the array' error for some XAML statements
    • Fixed issue with broken consistency of debug information due to applied code optimizations
    • Fixed issue with renaming of types with a naked namespace
  • Eazfuscator.NET 3.7
    March 18, 2013
    • New code optimizations
    • Out of the box support for SQL CLR assemblies
    • Eazfuscator.NET SDK for Java
    • Added immediate_load flag for assembly embedding
    • Improved XAML renaming
    • 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
  • Eazfuscator.NET 3.6
    December 17, 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 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
    • Fixed VM issue with typeof() expressions
  • Eazfuscator.NET 3.5
    October 2, 2012
    • XAML renaming for WPF applications
    • 200% speed improvement of virtualized code
    • Better metadata and code optimization. Added new hot spot optimizers
    • Improved XML serialization support
    • 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
  • Eazfuscator.NET 3.4
    June 22, 2012
    • Code virtualization
    • .NET 4.5 and WinRT support
    • Added 'inherits' function for conditional obfuscation
    • Improved XML serialization support
    • Improved documentation
    • Fixed handling of calli IL instruction
    • Fixed method lookup issue when argument is a nested generic type
    • Fixed XmlType serialization issue
  • Eazfuscator.NET 3.3
    March 5, 2012
    • Code optimizer. Delivers great speed to your applications
    • Control and data flow analysis. Delivers better reflection support
    • XNA 4 support
    • Silverlight 5 support
    • Windows SDK 8.0 support
    • Visual Studio 2012 support
    • This is the last free version of Eazfuscator.NET
    • Greatly improved support of self-hosted WCF services
    • 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
  • Eazfuscator.NET 3.2
    October 26, 2011
    • 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
    • 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 '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
    • Improved string encryption
    • Improved obfuscation of enums
    • Improved LINQ to SQL analysis engine
    • Improved reflection analysis engine for toolbox item bitmaps
    • Added automatic workaround for VSTO projects integration issue
    • 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
    • Fixed custom attributes handling for method parameters
  • Eazfuscator.NET 3.1
    April 17, 2011
    • 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 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'
  • Eazfuscator.NET 3.0
    January 15, 2011
    • Assemblies embedding with encryption and compression
    • Debugging support
    • String compression
    • PEVerify integration
    • Embedded and merged assemblies are automatically removed from XAP packages
    • 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
    • Fixed assembly merging for Silverlight projects
    • Fixed CLR verification issues
  • Eazfuscator.NET 2.9
    December 15, 2010
    • Added support for Windows Phone 7
    • Added support for Silverlight 4
    • Minimal system requirements changed to Windows XP SP 3 and .NET Framework 4
    • Improved LINQ support
    • Improved string encryption
    • 'ILMerge: Unresolved assembly reference not allowed: PresentationFramework' error is fixed for .NET 4 WPF applications
    • Fixed bug in signature calculation of template methods with 'out' parameters.
    • Fixed 'An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework' issue
    • Fixed bug with internal setter of public properties in .DLL assemblies
    • Fixed an issue with NamespaceDoc classes and XML Documentation Filter
    • Fixed issues with PostSharp integration
    • Fixed an issue with namespace-less classes
    • Fixed inheritance+interface mapping bug which led to missed method implementations
  • Eazfuscator.NET 2.8
    April 13, 2010
    • Added automatic XML documentation filter. XML documentation for non-public classes, methods, fields, properties and events is automatically pruned so that essential knowledge about component internals does not leak to the rest of the world anymore. This feature is essential for component developers and publishers
    • Added automatic signing key discovery. .SNK key file(s) can now be placed near the input assemblies
    • Added support for .NET 4.0 and Microsoft Visual Studio 2010
    • Added Eazfuscator.NET SDK for .NET
    • Added ability to pass custom parameters to ILMerge utility
    • Added an ability to create fail-safe project integrations. Such projects can be successfuly built without obfuscation when Eazfuscator.NET is not installed on machine
    • Added an ability to ignore InternalsVisibleToAttribute
    • Added --probing-paths option. It allows to specify folders to use during assembly resolution
    • SuppressIldasmAttribute is automaticaly applied to the obfuscated assemblies
    • /ndebug command line option is automatically passed to ILMerge utility when assembly merging is used
    • ILMerge transitive closure detection is no longer turned on by default. This eliminates unexpected assembly merging
    • Improved reflection analysis for components with design-time behavior
    • Improved pruning of .NET metadata
    • Improved obfuscation speed
    • Improved performance of string encryption
    • Updated documentation
    • Fixed bug with custom COM marshallers
    • Fixed bug with sattelite assemblies in .NET Compact Framework applications
    • Fixed a bug in .NET Framework installation path discovery
    • Fixed overload induction algorithm to satisfy C++ assemblies that reference obfuscated assemblies. This fix is essential for component developers and publishers
    • Fixed an issue with SuppressIldasmAttribute when Eazfuscator is run by .NET 4.0
    • Added AllowPartiallyTrustedCallers attribute to Eazfuscator.NET.SDK.dll assembly. This fixed a bug with SDK in partial-trust environment
    • Fixed a bug in stackalloc statement processing
    • Fixed a bug in attribute-controlled obfuscation of fields
  • Eazfuscator.NET 2.7
    September 24, 2009
    • Greatly improved reflection analysis for WCF classes. As a result, webservices work flawlessly in Silverlight applications
    • Critical bug was fixed in string encryption code. Some strings became corrupted due to JIT inlining optimization
  • Eazfuscator.NET 2.6
    September 5, 2009
    • Added support for indirect declarative obfuscation (see documentation for details)
    • Added support for Silverlight 3 technology
    • Added support for XNA 3.1 technology
    • Added features for advanced obfuscation of binary serialized items (see documentation for details)
    • Improved support for COM interoperability types
    • Improved XML serialization support
    • Updated documentation
    • Excluded bell character from character set of random name generator
    • Fixed automatic serialization detection for nested classes
    • Fixed bug which led to 'The given key was not present in the dictionary' message
    • Fixed bug with overloaded signature lookup and multidimensional array parameters
    • Fixed bugs in overload signature detection for generics
    • Fixed bug in custom attributes handling for properties
    • Fixed concurrency issue in string decryption code (was confirmed on multicore x64 systems)
    • Fixed a bug which led to 'Unable to parse type name token "[out][opt]"' error
  • Eazfuscator.NET 2.5
    May 19, 2009
    • Implemented support of XNA Game Studio 3.0 applications for Windows, Xbox 360 and Zune platforms
    • Added new option to the options dialog which allows to disable automatic updates
    • Added integration with Visual Web Developer Express
    • Implemented automatic exclusion of configuration section and group classes from obfuscation
    • Implemented automatic handling of InternalsVisibleToAttribute
    • Implemented support for tuning properties renaming for anonymous types at the assembly level
    • Improved reflection analysis engine. Class properties renaming is automatically excluded for anonymous types used in ASP.NET MVC routing
    • Improved obfuscation of P/Invoke methods
    • Slightly renewed GUI
    • Fixed assemblies merging for .NET Compact Framework 3.5
    • Fixed bug in handling of method template constraints
    • Fixed bug in overload signatures processing when some arguments are constrained by the class template definition
    • Fixed bug in obfuscation of XNA Game Studio 2.0 applications for Xbox 360 platform
    • Fixed bug which led to phantom modopt signature modification
  • Eazfuscator.NET 2.4
    April 4, 2009
    • Added support for Silverlight 2 assemblies and XAP packages
    • Added 'Globally disable obfuscation' setting to Eazfuscator.NET Assistant GUI for debugging purposes
    • Implemented symbol renaming with printable characters
    • Implemented turn off feature for string encryption
    • Eazfuscator.NET Assistant GUI effects are turned off in remote desktop session
    • Greatly improved ASP.NET support. Implemented automatic detection of auto-bound events, so obfuscation of ASP.NET applications is mostly flawless now
    • Improved support of .NET 3.5 add-in technology. AddInViews assemblies are resolved automatically when add-in assembly is obfuscated, so now it's possible to obfuscate add-in pipeline assemblies without any additional efforts
    • Improved reflection analysis engine. Designer-generated resources in Compact Framework projects are handled automatically
    • Slightly improved obfuscation speed
    • Improved and updated documentation
    • Fixed bug during obfuscation of unsafe managed code
    • Fixed bug in processing of custom attributes for class properties. Now it's possible to manage obfuscation of properties with custom attributes
    • Fixed bug in handling of ldelema IL instruction. As a side effect, it was impossible to obfuscate the assemblies produced by the recent version of ILMerge (first seen with ILMerge version 2.9.0210)
    • Fixed bug in processing of public constants with enumeration types
    • Fixed bug in stack depth calculation. Also this fixes a long-term issue of assembly runtime crashes after code control flow obfuscation
  • Eazfuscator.NET 2.3
    December 20, 2008
    • Implemented ability of Eazfuscator.NET to work with xcopy deployment scenario
    • Improved startup speed of Eazfuscator.NET applications
    • Improved handling of -o option in command line interface
    • Improved search algorithm for .NET SDK tools. Eazfuscator.NET is able to consume tools from PATH environment variable now
    • Fixed various method signature lookup bugs
    • Fixed bug with generic type processing which sometimes led to "Object reference not set to an instance of an object" error
  • Eazfuscator.NET 2.2
    October 12, 2008
    • Implemented code control flow obfuscation. This feature is not active by default, to get more information please refer to documentation
    • Improved reflection analysis engine. Automatic handling of localized properties of private components
    • Improved metadata removal algorithm
    • Improved symbol names encryption algorithm
    • More graceful error messages
    • Fixed bugs with method signature lookup
    • Fixed bug which led to "Unable to find tool 'Ildasm.exe'" error when Visual Studio Express SP1 is used as primary development tool and no other .NET tools are installed
  • Eazfuscator.NET 2.1
    July 28, 2008
    • Implemented support of the encrypted symbol names. This allows to decode stack traces of the production releases
    • Implemented assemblies merging feature (uses ILMerge utility underneath)
    • Renewed documentation with description of the new features
    • Fixed bug with nested templates handling
    • Fixed bug with auto sealing of the classes which were excluded from the obfuscation
  • Eazfuscator.NET 2.0
    June 2, 2008
    • Implemented support of the password protected assembly signing keys
    • Improved reflection analysis of the xml serialization scenarios
    • Improved metadata removal algorithm
    • Fixed bug which occurred when some custom attributes were read from the assembly. This bug often occurred during obfuscation of the classes generated by table adapter designer in Microsoft Visual Studio
    • Fixed bug with multidimensional arrays handling
  • Eazfuscator.NET 1.9
    May 5, 2008
    • Declarative obfuscation support for .NET Compact Framework
    • Improved reflection analysis engine
    • Improved metadata removal
    • Fixed several bugs in custom attributes processing that lead to 'Garbage at the end of line' and 'Deadlock detected in ... algorithm' errors
  • Eazfuscator.NET 1.8
    April 21, 2008
    • Improved reflection analysis engine
    • Fixed bug in obfuscation of the let statement inside LINQ expression
  • Eazfuscator.NET 1.7
    April 7, 2008
    • .NET Compact Framework versions 2.0 and 3.5 are supported now
    • Improved reflection analysis engine
    • Fixed MSBuild project integration issues on x64 systems
    • Fixed bug with optional method parameters. This bug occurred during obfuscation of the assemblies written in VB.NET programming language
  • Eazfuscator.NET 1.6
    March 27, 2008
    • Improved metadata removal
    • Improved renaming of class template arguments
    • Fixed a bug with virtual implementation of interfaces and abstract classes
    • Fixed a bug in class visibility analyzer. Nested classes visibility was not handled correctly
  • Eazfuscator.NET 1.5
    March 17, 2008
    • Fixed a bug in overload matching for specialized template arguments
    • Fixed a bug in overload matching for ref parameters
    • Fixed a bug during processing of compiler generated class names for yield statements
    • Fixed a bug when System.Type arguments of custom attributes were not processed
  • Eazfuscator.NET 1.4
    March 11, 2008
    • Improved support of web services projects
    • Improved support of XNA Game Studio projects
    • Improved reflection analysis engine
    • Fixed a bug in integration with Microsoft Visual Studio C# Express
    • Fixed a bug which may occur when obfuscating x86-targeted assemblies on x64 system
    • Fixed a bug when Eazfuscator.NET was unable to detect CorFlags.exe from .NET SDK. Bug prevented Eazfuscator.NET from working with plain installations of Microsoft Visual Studio Express editions
    • Fixed a bug which may occur during processing of some custom attributes in assembly
  • Eazfuscator.NET 1.3
    March 8, 2008
    • Automatic software updates are now turned on by default
    • Improved reflection analysis engine
    • Improved metadata removal
    • Improved error handling in Eazfuscator.NET Assistant
    • Improved string encryption – now encrypted strings are tied to the assembly strong name
    • Fixed installation repair bug
    • Fixed an issue which may occur when obfuscated projects with satellite assemblies are subsequently built with Microsoft Visual Studio in Release configuration
    • Fixed a bug when Eazfuscator.NET was unable to detect .NET SDK presence. It occurred when Microsoft Visual Studio 2008 was installed before or without Microsoft Visual Studio 2005
  • Eazfuscator.NET 1.2
    February 26, 2008
    • Added new documentation chapter about troubleshooting
    • Improved support of WPF applications
    • Improved integration with MSBuild projects
    • Fixed an issue which may occur when a class is in root namespace
    • Fixed an issue which may lead to the loss of information about target CPU architecture during assembly obfuscation
  • Eazfuscator.NET 1.1
    February 6, 2008
    • First public release