Code Protection and Obfuscator For .Net, Licensing And Copy Protection for .Net, ActiveX and MFC

Version history - Crypto Obfuscator For .Net



Build 210317 ( 17 March 2021 )

  • FIXED: Error occurred while determining path of signtool.exe for Authenticode signing.


Build 200911 ( 11 September 2020 )

  • Side by side installation of Crypto Obfuscator v2020 now works correctly with older versions.


Build 200801 ( 1 August 2020 )

  • FIXED: Error occurred while reading some assemblies.


Build 200717 ( 17 July 2020 )

  • Obfuscation rules/attributes can now be used to exclude parameters of specific method(s) from being renamed.


Build 200714 ( 14 July 2020 )

  • Fixed regression bug caused by earlier build.


Build 200629 ( 29 June 2020 )

  • Crypto Obfuscator installer now supports silent installation.


Build 200625 ( 25 June 2020 )

  • FIXED: Assembly resolution during obfuscation failed under certain circumstances.


Build 200608 ( 08 June 2020 )

  • Fixed hang when reading some attributes specified for properties.


Build 200506 ( 06 May 2020 )

  • Crypto Obfuscator v2020 released with bug fixes and minor updates.


Build 190807 ( 07 August 2019 )

  • It is now possible to specifiy the path of sn.exe and signtool.exe via the command-line.


Build 190726 ( 26 July 2019 )

  • Environment variables in command-line passed to signcode tool are expanded.


Build 190718 ( 18 July 2019 )

  • Fixed stack overflow exception that occurred while obfuscateing some assemblies.
  • Improvde support for some assemblies built using VS 2017 and above, when using pinned variables.


Build 181108 ( 08 Nov 2018 )

  • Improved support for advanced authenticode signing of obfuscated assemblies.


Build 181012 ( 12 Oct 2018 )

  • Improved support for obfuscation of certain custom attribute patterns.


Build 180802 ( 2 Aug 2018 )

  • Improved certain obfuscation logic.
  • Improved documentation.
  • Some UI tweaks for better experience.


Build 180209 ( 09 February 2018 ) - ** v2018 **

  • Crypto Obfuscator For .Net v2018 released.


Build 170126 ( 26 Jan 2017 )

  • Encrypt Constants and Code Masking did not work with each other under rare circumstances in VS 2015.
  • Certain reserved names are excluded when renaming.


Build 170111 ( 11 Jan 2017 )

  • Added support for SQL CLR projects via the 'Visual Studio Integration Wizard'.


Build 160701 ( 01 July 2016 )

  • Improved support for obfuscating VS 2015 compiled assemblies.
  • Improved documentation.


Build 160520 ( 20 May 2016 )

  • Improved disgnostics.
  • Slightly improved UI.


Build 160322 ( 22 March 2016 )

  • NEW: Map files location now support environment variables.
  • NEW: Support for multiple developers to consume and view exception report.
  • IMPROVED: Improved obfuscation when using method encryption.
  • FIX: Deep-integration of CryptoLicensing failed in some circumstances when obfuscation assemblies built with VS 2015.
  • FIX: Encrypt Constants did not work in rare circumstances for assemblies compiled with VS 2015.


Build 160118 ( 01 January 2016 )

  • NEW: Added support for SHA256 algorithm during Athenticode signing.
  • FIX: Fixed rare bug in 'Encrypt Constant Values/Arrays' when VS 2015 is used.
  • IMPROVED: Improved logging if type resolution fails during obfuscation.
  • IMPROVED: Improved support for exception reporting on some servers.


Build 151102 ( 02 November 2015 )

  • NEW: Improved logging.
  • NEW: Improved support for variety of servers for exception reporting service.


Build 150918 ( 18 September 2015 )

  • NEW: Ability to generate different names for symbols during each obfuscation when using cryptographic renaming scheme.
  • FIX: Obfuscation failed in rare circumstances for VS 2015 complied assemblies when Automatic Exception Reporting is turned on.


Build 150905 ( 05 September 2015 )

  • NEW: Ability to specify additional pattern for matching in Exclusion/Inclusion Rules.
  • Minor UI changes.


Build 150729 ( 29 July 2015 )

  • NEW: Added support for PDBs generated by VS 2015/.Net 4.6
  • NEW: Better support for array type attributes parameters when a null value is passed.


Build 150619 ( 19 June 2015 )

  • Some UI improvements.


Build 150606 ( 06 June 2015 )

  • NEW: Ability to pass any command-line parameter as parameter when invoking from MSBuild.


Build 150605 ( 05 June 2015 )

  • NEW: Ability to turn off processing of satellite assemblies.
  • NEW: Ability to pass/override all obfuscation settings and inputs via MSBuild properties.
  • IMPROVED: Improved support for type arrays specified via attributes.
  • NEW: The Exclusion/Inclusion Rules tab can now show only those tree nodes for which rules have been added.
  • NEW: ExceptionHandler.SendReportToService(byte[]) and ExceptionHandler.SendReportToService(string methods to allow sending a previously locally saved report.


Build 150416 ( 16 April 2015 )

  • FIX: The 'Obfuscation Rules' tab was sometimes shown twice.
  • IMPROVED: Old versions of unmanaged dlls added via 'Additional Dependencies' are overwritten if a new version is embedded in the obfuscated assembly.


Build 150328 ( 28 March 2015 )

  • NEW: Added a "quiet" mode to the command-line and MSBuild task.
  • NEW: A warning is shown if the assembly is strong-named with a different key than the one specified before obfuscation.


Build 150325 ( 25 March 2015 )

  • NEW: Ability to export Exclusion/Inclusion Rule in C#/VB.Net format.
  • CHANGE: v2015 installation will no longer interfere with installation of earlier versions.


Build 150314 ( 14 March 2015 )

  • NEW: Ability to specify 'Exclusion/Inclusion Rules' via ObfuscationAttributes in code.


Build 150312 ( 12 March 2015 )

  • FIX: 'Obfuscation Rules' tab was not shown if old projects with these rules present were opened.
  • CHANGE: Documented 'processinlinestring' in 'Using Obfuscation Attributes' topic and exposed this setting via 'Exclusion/Inclusion Rules' tab.


Build 150306 ( 06 March 2015 )

  • NEW: Ability to specify entire assembly folders recursively via the command line.


Build 150227 ( 27 February 2015 )

  • FIX: String/Constant Encryption failed for Silverlight/WinRT/Metro assemblies.


Build 150210 ( 10 February 2015 )

  • FIX: Performance of obfuscated assemblies was affected if the CryptoLicensing assembly is merged in your assemblies.


Build 150203 ( 03 February 2015 )

  • FIX: Fixed obfuscation crash when obfuscating some assemblies containing private resources.


Build 150124 ( 24 January 2015 )

  • NEW: Ability to remove the AccessedThroughPropertyAttribute added by WinForms designer to form fields.


Build 141219 ( 19 December 2014 )

  • NEW: Ability to exclude resources using Exclusion/Inclusion Rules.
  • IMPROVED: Better support for flag enums specified via named parameters in attributes.
  • NEW: New warnings added.


Build 141126 ( 26 November 2014 )

  • NEW: Exclusion/Inclusion rule patterns can now be matched against the attributes of the enclosing (containing) assembly of symbols.
  • NEW: Methods with dynamic parameters or return types are excluded from renaming.


Build 141125 ( 25 November 2014 )

  • NEW: Exclusion/Inclusion rule patterns can now be matched against the attributes of method parameters and return type.


Build 141115 ( 15 November 2014 ) - ** v2015 **

  • Crypto Obfuscator For .Net v2015 released.


Build 141112 ( 12 November 2014 )

  • NEW: Exclusion/Inclusion rule patterns can now be matched against the attributes on the enclosing type as well as its entire hierarchy.


Build 141108 ( 08 November 2014 )

  • CHANGE: Updated exception reporting service code to use OnUploadReportEx instead of OnUploadReport.
  • IMPROVED: Default exception reporting takes over if the custom exception handling code fails.


Build 141002 ( 02 October 2014 )

  • Minor documentation updates.


Build 141001 ( 01 October 2014 )

  • NEW: Ability to save full parameter type names in mapping file.
  • NEW: Produces new names each time assemblies are obfuscated even if they are not changed.


Build 140925 ( 25 September 2014 )

  • NEW: Ability to pass Exclusion/Inclusion Rules via the command line.
  • NEW: Ability for the Exception Reporting service to store reports in a database instead of the file system.


Build 140918 ( 18 September 2014 )

  • NEW: Ability to specify the mainassembly (in which dependant or additional assemblies are embedded) via the command-line.


Build 140912 ( 12 September 2014 )

  • NEW: Ability to specify additional assemblies via command-line.


Build 140908 ( 08 September 2014 )

  • Minor documentation updates.


Build 140903 ( 03 September 2014 )

  • FIX: UI layout of Exclusion/Inclusion tab got messed up under some siutations.


Build 140820 ( 20 August 2014 )

  • NEW: Ability to access the Report ID in the exception reporting service, when a new report is sent.
  • NEW: Ability to select a specific report automatically in the Exception Viewer Dialog by passing the report ID via the command-line.
  • Minor UI improvements.


Build 140808 ( 08 August 2014 )

  • NEW: Assemblies to obfuscate can now be specified via the command-line.
  • FIX: Dependency assembly embedding failed to load assemblies at run-time in some circumstances.


Build 140703 ( 03 July 2014 )

  • FIX: Error occurred in rare circumstances on some machines on which environment variables are not properly defined.


Build 140528 ( 28 May 2014 )

  • Minor UI updates.


Build 140516 ( 16 May 2014 )

  • Minor documentation updates.


Build 140425 ( 25 April 2014 )

  • IMPROVED: Improved processing for certain assemblies with bad .Net metadata.


Build 140416 ( 16 April 2014 )

  • Minor documentation updates.


Build 140415 ( 15 April 2014 )

  • Minor UI changes.


Build 140408 ( 08 April 2014 )

  • NEW: Ability to add the DebuggerStepThrough attribute to methods via Obfuscation attributes.
  • CHANGE: Features specified via obfuscation attribute must have exact spelling; earlier, suffix mistakes like "renamingg" or "renaming1" were accepted.
  • NEW: Ability to turn OFF encryption and compression on a project basis (applies to String Encryption, Resource Protection, Method Encryption etc).
  • NEW: Ability to add the DebuggerNonUserCode attribute to methods via Obfuscation attributes.


Build 140320 ( 20 March 2014 )

  • NEW: Support for new cultures (when processing satellite assemblies) introduced in latest .Net framework.
  • IMPROVED: Better diagnostic error messages when merging the CryptoLicensing dll in obfuscated assemblies.
  • NEW: Support for RFC 3161 timestamp servers when Authenticode signing.
  • NEW: Ability to specify the Signtool.exe path centrally for all obfuscator projects.
  • FIX: Warning suppression via obfuscation attributes did not work the first time obfuscation is done.


Build 140117 ( 17 January 2014 )

  • FIX: Improved support for WinRT / Metro assemblies.


Build 131225 ( 25 December 2013)

  • FIX: Improved exception reporting support for some Visual Basic projects.


Build 131223 ( 23 December 2013)

  • CHANGE: Improved support for some Visual Studio project files when running the Visual Studio Project Integration Wizard.


Build 131219 ( 19 December 2013)

  • FIX: Regression bug: deleting assemblies from obfuscation project files did not work.


Build 131211 ( 11 December 2013)

  • NEW: Exclusion/Inclusion rules can now be applied at the namespace level.
  • Minor UI improvements.


Build 131204 ( 04 December 2013)

  • Minor documentation updates.
  • Minor UI improvements.


Build 131203 ( 03 December 2013)

  • NEW: Ability to add assemblies to the obfuscation project via drag-drop.
  • NEW: Ability to suppress warnings via Obfuscation attributes or Exclusion/Inclusion Rules, both of which can be applied to methods, types or assemblies.


Build 131130 ( 30 November 2013)

  • Minor documentation updates.
  • Minor UI improvements.


Build 131118 ( 18 November 2013)

  • Minor UI improvements.


Build 131108 ( 08 November 2013)

  • NEW: Improved auto-exclusion of API from renaming for WPF & Silverlight projects.


Build 131024 ( 24 October 2013)

  • FIX: Inclusion/Exclusion Rules "Pattern Applies To" setting was not being saved to project file correctly.
  • Minor UI improvements.


Build 131023 ( 23 October 2013)

  • Minor UI improvements.


Build 131022 ( 22 October 2013)

  • NEW: The CryptoLicensing DLL merge setting can now be specified via the command-line using the "mergelicensingdll=true|false" option.


Build 131021 ( 21 October 2013)

  • NEW: The CryptoLicensing merge dll path now accepts environment variables.
  • NEW: The CryptoLicensing merge dll path can now be specified via the command-line via the "licensingdllpath=<path>" option.


Build 131016 ( 16 October 2013)

  • Minor logging improvements.
  • Minor documentation updates.


Build 131012 ( 12 October 2013)

  • NEW: Added support for key files which only specify public keys (for delay signing).
  • NEW: Support for obfuscating .Net Micro Framework 4.2 assemblies.


Build 131002 ( 02 October 2013)

  • Minor UI improvements.


Build 130928 ( 28 September 2013)

  • Minor UI improvements.


Build 130925 ( 25 September 2013)

  • IMPROVED: You are first prompted to save an unsaved modified project if a MRU project is opened.
  • FIX: If multiple properties of the same type are present in a class hierarchy and one of them is ReadOnly/WriteOnly, then "Advanced Overload Renaming" caused incorrect renaming in some circumstances.


Build 130920 ( 20 September 2013)

  • Visual Studio Addin to enable/disable VS integrated obfuscation is removed. Instead now, Crypto Obfuscator allows you to enable or disable automatic obfuscation of your assemblies via the Crypto Obfuscator UI using the Project menu --> Enable Visual Studio Integration menuitem.


Build 130904 ( 04 September 2013)

  • Minor UI improvements.
  • Minor documentation updates.


Build 130831 ( 31 August 2013)

  • Minor logging improvements.
  • Minor documentation updates.


Build 130828 ( 28 August 2013)

  • Minor UI improvements.


Build 130822 ( 22 August 2013)

  • Minor UI improvements.


Build 130820 ( 20 August 2013)

  • IMPROVED: Assemblies added to the obfuscation project are now shown in a listbox instead of a dropdown list box, so they can be viewed all at once. Further, you can now select multiple assemblies from the listbox and easily change obfuscation settings for all of the selected assemblies at once.


Build 130815 ( 15 August 2013)

  • Minor UI improvements.
  • Minor documentation updates.


Build 130812 ( 12 August 2013)

  • Minor UI improvements.


Build 130805 ( 05 August 2013)

  • NEW: Visual Studio Integration Wizard now presents a list of all available configurations which you can select.
  • NEW: Visual Studio Integration Wizard now supports incremental integration - that is, you can run the wizard on your Visual Studio projects multiple times with different configurations or first/last projects.
  • IMPROVED: Visual Studio Integration Wizard now checks any error conditions before starting the modification of project files - this gives you a chance to remedy the errors before proceeding in the wizard, instead of having to restart the wizard from start.


Build 130802 ( 02 August 2013)

  • NEW: Inclusion Exclusion Rules Tab allows you to exclude or include symbols from any obfuscation setting, visually via a easy-to-use UI based hierarchical view. Advanced matching criteria are supported.
  • IMPROVED: Various optimizations to improve speed of obfuscation a bit.


Build 130731 ( 31 July 2013)

  • NEW: Dependant Assembly Embedding is now supported for .Net 1.0/1.1 assemblies also.


Build 130723 ( 23 July 2013) - ** v2013 R2 **

  • Version bumped to Crypto Obfuscator For .Net v2013 R2.
  • NEW: Code Masking Obfuscation - Code Masking masks some commonly used code patterns like using, foreach, is/as, unboxing, creation of arrays/structures, typeof, overloaded operators, string concatenations and more. These code patterns are replaced by method calls which do the exact same thing, but whose purpose is not as easy to understand as the original code pattern.


Build 130718 ( 18 July 2013)

  • NEW: Environment variables can now be used inside the BuildID.
  • NEW: BuildID can now use a special environment variable of the form %assemblyname_version% (example: %MainApp_version%). This allows you to specify as the build id, the version of any assembly added to your obfuscation project.
  • NEW: It is now possible to copy a single warning to the clipboard by right-clicking on it.


Build 130710 ( 10 July 2013)

  • NEW: Environment variables can now be used in watermarks.
  • NEW: It is now possible to obfuscate and execute obfuscated assemblies using shortcut keys (F5 and F7 respectively).


Build 130708 ( 08 July 2013)

  • NEW: Obfuscation rules can now be applied based on the attribute applied to a symbol, attribute applied to enclosing(declaring) type of a member, the assembly which contains the symbol or the attribute applied to the assembly containing the symbol.
  • IMPROVED: Greatly improved speed of obfuscation rule matching reduces the time taken for obfuscation a bit.


Build 130704 ( 04 July 2013)

  • IMPROVED: Visual Studio Integration Wizard now shows a descriptive error message if it does not find any suitable project configuration for integration.
  • FIX: Exclusions for features other then "renaming" (like "controlflow","encryptmethod", etc) did not work when a custom ObfuscationAttribute (not "System.Reflection.Obfuscation") was used.


Build 130702 ( 02 July 2013)

  • IMPROVED: New warnings added.
  • Minor UI improvements.


Build 130628 ( 28 June 2013)

  • IMPROVED: Members of enums which are marked as Serializable are not renamed.


Build 130624 ( 24 June 2013)

  • NEW: Added ability to exclude fields/properties/methods/events by type.
  • IMPROVED: Added some minor details to the log.
  • NEW: Added support for scenario where a Portable Class Library is referenced by the assembly being obfuscated.
  • Minor documentation updates.


Build 130620 ( 20 June 2013)

  • FIX: Fixed layout issues with Visual Studio Project Integration Wizard, which causes the "Browse For Solution" button to remain out of view.
  • Minor documentation updates.


Build 130614 ( 14 June 2013)

  • NEW: Ability to explicitly specify an assembly added to the obfuscator project as a WinRT assembly.
  • FIX: "Anti-Tamper Protection" did not work correctly when running under Mono on Linux.


Build 130612 ( 12 June 2013)

  • NEW: Added ability to specify certificate file used for Authenticode signing of obfuscated assemblies and corresponding password via command-line.
  • NEW: Ability to exclude/filter running processes data from exception reports.
  • IMPROVED: During assembly resolution, Crypto Obfuscator now automatically searches the folders of "Additional Assemblies" specified in the obfuscation project.
  • Improved documentation.


Build 130422 ( 22 April 2013)

  • IMPROVED: The namespace and typename of an enum is renamed even of its members are auto-excluded because of a call to ToString.
  • NEW: Added ability to specify pfx password via command-line.


Build 130417 ( 17 April 2013)

  • FIX: Obfuscated program could not be verified if "Method Call Hiding" was ON, and code created a generic multi-dimensional array.


Build 130416 ( 16 April 2013)

  • NEW: Ability to determine (from within application using a simply property) whether the obfuscated or unobfuscated version of your application is running.


Build 130404 ( 04 April 2013)

  • IMPROVED: More helpful error messages if obfuscation errors occur.


Build 130403 ( 03 April 2013)

  • NEW: Added support for "Filter Data" in Exception Reports.
  • IMPROVED: Improved usability of the Crypto Obfuscator Visual Studio Add-In. The menu command added by the add-in now changes text - "Enable Crypto Obfuscator" or "Disable Crypto Obfuscator" - depending on whether Crypto Obfuscator is enabled or disabled.
  • IMPROVED: Modified MSBuild Integration Wizard XML output in .csproj/.vbproj files to make it easier to integrate shared projects in multiple solutions.


Build 130327 ( 27 March 2013)

  • FIX: The WebSiteExceptionReporting sample did not save exception reports to the correct folder, so they could not be downloaded from the Crypto Obfuscator UI.
  • NEW: Added support for deobfuscated stack traces generated by Unity3D.


Build 130326 ( 26 March 2013)

  • IMPROVED: Improved reporting of errors/exceptions that occur in the exception reporting service back to the Crypto Obfuscator UI.
  • IMPROVED: Additional logging when Crypto Obfuscator is run as part of MSBuild integration.


Build 130320 ( 20 March 2013)

  • FIX: Automatic Exception Handling did not work for exe assemblies if they referenced the system.web assembly.


Build 130319 ( 19 March 2013)

  • NEW: Automatic Exception Reporting Service now supports Linux/Mono.


Build 130318 ( 18 March 2013)

  • FIX: Regression bug in Automatic Exception Handling for Silverlight Assemblies - exceptions were not being handled in come circumstances.


Build 130312 ( 12 March 2013)

  • IMPROVED: Minor logging improvements.


Build 130309 ( 09 March 2013)

  • NEW: Exception Reporting Service email notifications can now include the project name, which is helpful if the same service is being used for multiple projects.


Build 130305 ( 05 March 2013)

  • NEW: The Crypto Obfuscator Visual Studio Addin now supports Visual Studio 2012


Build 130226 ( 26 February 2013)

  • FIX: Obfuscation is not aborted if Crypto Obfuscator is unable to delete pdb file.


Build 130214 ( 14 February 2013)

  • IMPROVED: Visual Studio Project Integrator Wizard now supports .sln and .proj files containing special escape characters.
  • CHANGE: Locally saved exception report files are now deleted when the corresponding entry is deleted from the "Exception Viewer Dialog"


Build 130212 ( 12 February 2013)

  • IMPROVED: Improved support for control flow obfuscation for certain assemblies produced by the C++/CLI compiler.


Build 130211 ( 11 February 2013)

  • IMPROVED: Improved support for certain PDB files produced for C++/CLI assemblies.


Build 130209 ( 09 February 2013)

  • IMPROVED: Improved support for boxed enums in attributes (both fixed and named params), when the enums are defined in another assembly.
  • Minor documentation updates.


Build 130205 ( 05 February 2013)

  • CHANGE: Improved logging improvements.
  • CHANGE: Better resize support for Visual Studio Project Integration Wizard.


Build 130204 ( 04 February 2013)

  • FIX: Remove Constant Field Values setting not saved to .obproj file.
  • CHANGE: Some new additional info is logged if errors occur during obfuscation.


Build 130121 ( 21 January 2013)

  • Fixed minor regression bug related to Windows Forms control names.


Build 130117 ( 17 January 2013)


Build 130115 ( 15 January 2013 ) - ** v2013 **

  • Crypto Obfuscator For .Net v2013.


Build 130114 ( 14 January 2013)

  • Minor documentation updates.


Build 130111 ( 11 January 2013)

  • IMPROVED: Improved automatic detection of location of referenced assemblies to avoid having to manually specify their paths via Project Properties --> Search Directories.


Build 130109 ( 09 January 2013)

  • FIX: Exception Reporting did not work for some assemblies in some circumstances.


Build 130102 ( 02 January 2013)

  • NEW: Added support for Portable Class Library and Windows Phone 8 assemblies.
  • Minor documentation updates.


Build 121225 ( 25 December 2012 )

  • Minor documentation updates.


Build 121219 ( 19 December 2012 )

  • FIX: Error occurred during obfuscation (during assembly resolution) of certain XAP files.


Build 121206 ( 06 December 2012 )

  • FIX: Method encryption failed for some methods like auto-generated iterator blocks.


Build 121129 ( 29 November 2012 )

  • NEW: Support for obfuscating Windows 8 WinRT/Metro assemblies.
  • Updated documentation.
  • Minor UI improvements.


Build 121123 ( 23 November 2012 )

  • FIX: Error occurred during obfuscation if certain assemblies with their own Module Constructors were being obfuscated.


Build 121121 ( 21 November 2012 )

  • NEW: Ability to merge the LogicNP.CryptoLicensing.dll into multiple assemblies from your Crypto Obfuscator project.
  • FIX: Exception reports did not have a stack trace under some circumstances.
  • For files attached to exception reports, The Exception Viewer Dialog-->Save As dialog now has the filename pre-filled in the filename textbox.


Build 121115 ( 15 November 2012 )

  • Now exception handling hook (which actually handles the exception and sends the report) is only done for assemblies which explicitly reference the LogicNP.CryptoObfuscator.ExceptionReporting assembly. (Note that exception reporting itself is added to all assemblies for which this setting is checked in the UI.)


Build 121113 ( 13 November 2012 )

  • Crypto Obfuscator now runs correctly on machines where FIPS compliance is turned ON via security policy.


Build 121102 ( 02 November 2012 )

  • Exception reports now include the computer name.


Build 121029 ( 29 October 2012 )

  • Improved logging during obfuscation.


Build 121025 ( 25 October 2012 )

  • Now additional parameters like build-id, etc can be passed via the CryptoObfuscator MSBuild task.


Build 121024 ( 24 October 2012 )

  • Warnings from the CryptoLicensing assembly are ignored when it is merged with your own assembly.


Build 121020 ( 20 October 2012 )

  • NEW: Ability to notify you via email when a new exception report arrives.
  • Minor documentation updates.


Build 121019 ( 19 October 2012 )

  • NEW: Ability to automatically add the screenshot of the primary screen to exception reports.
  • NEW: Ability to directly open (using system default associated viewer) files attached to exception reports from the "Exception Viewer Dialog" by double-clicking on them.
  • Documentation updates.
  • Added new sample which shows how to attach files/logs/screenshots to exception reports.


Build 121017 ( 17 October 2012 )

  • Obfuscation attributes applied to parents of nested types are now honored when renaming the nested types and its members.


Build 121015 ( 15 October 2012 )

  • NEW: Ability to include local variable names in Pdb files to facilitate easier debugging of obfuscated assemblies.


Build 121011 ( 11 October 2012 )

  • NEW: Ability to directly open (using system default associated viewer) files attached to exception reports from the "Exception Viewer Dialog"


Build 121009 ( 09 October 2012 )

  • NEW: Ability to add images, files and other binary data to exception reports.
  • IMPROVED: Improved support for "Anti-Tamper" setting for assemblies running on Mono.


Build 121008 ( 08 October 2012 )

  • Improved support for Bindings containing attached properties specified in BAML/XAML.
  • Improved detection algorithm for path of sn.exe and Signtool.exe (used for strong-naming and code-signing obfuscated assemblies respectively).
  • Better support for property/event and associated get/set/raise/add/remove methods renaming.


Build 120922 ( 22 September 2012 )

  • Additional information available if errors occur during obfuscation.


Build 120921 ( 21 September 2012 )

  • FIX: Exception occurred if "savewarningstofile=Warnings.txt" specified via command-line, but no actual warnings are present.


Build 120918 ( 18 September 2012 )

  • CHANGE: Ignore enumerator classes generated by yield keyword, when using auto-exclusion rules.


Build 120917 ( 17 September 2012 )

  • Minor documentation updates.


Build 120914 ( 14 September 2012 )

  • NEW: Ability to specify custom fake names for fields, types and methods when using the Fake Renaming Scheme.


Build 120910 ( 10 September 2012 )

  • Minor UI tweaks and improvements.


Build 120907 ( 07 September 2012 )

  • NEW: Ability to override via the command-line, the location where the mapping file is saved.


Build 120906 ( 06 September 2012 )

  • NEW: Ability to specify a "contains" pattern in an obfuscation rule, similar to a "wildcard" and "regex" pattern.
  • IMPROVED: Crypto Obfuscator now works on machines which only have .Net 4.0 installed.


Build 120905 ( 05 September 2012 )

  • NEW: Ability to specify a path where mapping files can be saved.


Build 120831 ( 31 August 2012 )

  • Functional improvements to the Log tab.


Build 120829 ( 29 August 2012 )

  • New Log tab which shows the complete log output by Crypto Obfuscator during obfuscation.
  • Remove dependency on .Net 3.5 added by the new Fake Renaming Scheme.


Build 120828 ( 28 August 2012 )

  • Improved support for SQL CLR assemblies.
  • Public types which are not renamed are no longer marked as sealed.


Build 120827 ( 27 August 2012 )

  • co.exe now returns different exit codes depending on type of error.


Build 120824 ( 24 August 2012 )

  • Obfuscation speed enhancements.


Build 120822 ( 22 August 2012 )

  • Documentation improvements.


Build 120821 ( 21 August 2012 )

  • NEW: Renames all classes, fields, methods, etc to fake but realistic names like Domain/Log/Stream/etc (for classes) or Open/Close/Clear/Delete/etc for methods and so on. This makes it extremely difficult to differentiate between symbols excluded from obfuscation and obfuscated symbols.


Build 120820 ( 20 August 2012 )

  • NEW: Ability to call a user-defined method from the Module Constructor.
  • NEW: Ability to specify a prefix and suffix for all renamed symbols.


Build 120817 ( 17 August 2012 )

  • FIX: If a Module Constructor is already present in an assembly, then it is used instead of adding a new one.


Build 120810 ( 10 August 2012 )

  • CHANGE: Error is thrown if 'Merge CryptoLicensing Assembly' functionality is selected, but path to the LogicNP.CryptoLicensing.dll file is not specified.


Build 120809 ( 09 August 2012 )

  • Documentation update.


Build 120808 ( 08 August 2012 )

  • FIX: Improved XAML/BAML rewriting for certain .Net 4.0 based XAML code.
  • NEW: Improved support for forwarded types.


Build 120803 ( 03 August 2012 )

  • CHANGE: Remove Project Name from Project Properties dialog. Instead the file name is used as the project name and shown in the caption.


Build 120801 ( 01 August 2012 )

  • IMPROVED: Improved recording of local variables under certain circumstances.


Build 120728 ( 28 July 2012 )

  • FIX: Fixed reading/writing of methods with extremely complex parameters and/or return types.


Build 120726 ( 26 July 2012 )

  • NEW FEATURE : Added ability to remove/modify/add to "System Information" part of the exception report.
  • FIX: Fixed reading/writing of exception handlers present in certain very large methods.


Build 120725 ( 25 July 2012 )

  • NEW FEATURE : Method Encryption - Encrypts and hides all IL code within methods. If the method is viewed by a decompiler or disassembler, an empty proxy delegate call is seen.
  • NEW: Obfuscation attribute(s) applied to an enclosing class are considered for nested classes.


Build 120724 ( 24 July 2012 )

  • FIX: When Visual Studio Project Integration Wizard is run on a .sln file which outputs a xap file, only last assembly in the xap file is added to the newly created .obproj file in certain circumstances.



Build 120714 ( 14 July 2012 )

  • Fixed issue when obfuscating some .Net Compact Framework 1.0 assemblies.


Build 120712 ( 12 July 2012 ) ** v2012 R2 **

  • Crypto Obfuscator For .Net v2012 R2.
  • Fixed UI bug in the Exception Report Viewer Dialog.


Build 120711 ( 11 July 2012 )

  • Minor UI improvements.
  • Exception reports now include the public properties of the exception type (for example, the StatusCode property for an SmtpException).
  • Exception reports now include the key-value data from the Exception.Data property.


Build 120710 ( 10 July 2012 )

  • Fixed bug in exception report in certain circumstances when an inner exception is encountered.
  • Silverlight Exception Handling now allows you to bypass the default message boxes shown before and after an exception is reported.


Build 120709 ( 09 July 2012 )

  • New Obfuscation - Constant Encryption - constant values or arrays can contain sensitive information. They also facilitate reverse-engineering of your .Net code. When this setting is checked, constant values or arrays defined and initialized in code are encrypted.
  • Fixed: Crypto Obfuscator title bar does not show the correct project name in some circumstances.


Build 120630 ( 30 June 2012 )

  • Fixed crash when using "Protect Resources" setting on certain assemblies with long names.


Build 120629 ( 29 June 2012 )

  • Fixed crash when attempting to obfuscate assemblies with rare exception handler scenarios.


Build 120626 ( 26 June 2012 )

  • After Visual Studio Project Integration Wizard runs, VS no longer shows dll files in 'Solution Explorer', and corresponding "item/file already exists" warnings are no longer raised.


Build 120618 ( 18 June 2012 )

  • File extension Case is ignored when determining whether key file specified is .pfx or .snk.


Build 120607 ( 07 June 2012 )

  • Fixed handling of parameters with custom modifiers.
  • Added ability to ignore method return type when overload-renaming of methods.


Build 120601 ( 01 June 2012 )

  • Fixed satellite assembly processing when Crypto Obfuscator is running on certain cultures like Turkish.


Build 120530 ( 30 May 2012 )

  • Assemblies with references containing long-form public key (instead of just the public key token) can now be obfuscated correctly.


Build 120526 ( 26 May 2012 )

  • Exception Report Viewer Dialog can now be resized.


Build 120523 ( 23 May 2012 )

  • Assembly level obfuscation attributes are now heeded for symbol renaming, control flow, string encryption, method call hiding, etc.


Build 120519 ( 19 May 2012 )

  • Minor documentation updates.


Build 120516 ( 16 May 2012 )

  • Minor documentation updates.


Build 120515 ( 15 May 2012 )

  • FIXED: Minor regression bug due to build 120514.


Build 120514 ( 14 May 2012 )

  • FIXED: Building MSBuild-obfuscation-integrated Silverlight projects failed in some circumstances if Crypto Obfuscator is disabled from Visual Studio.


Build 120430 ( 30 April 2012 )

  • IMPROVED: Support for Anti-Tamper setting when assemblies targeted for .Net 4.0 loaded assemblies targeted for .Net 1.x/.Net 2.x.


Build 120425 ( 25 April 2012 )

  • IMPROVED: Support for attributes applied where original attribute parameter type is object, but passed argument is typeof(XYZ).
  • FIXED: Symbols not renamed correctly in certain situations where a generic class derives from another generic class.


Build 120420 ( 20 April 2012 )

  • NEW: The Visual Studio Project Integration Wizard now works for project files having configuration-specific as well as configuration-free properties.
  • IMPROVED: When a password for key files and certificate files is prompted for, the password is masked.


Build 120419 ( 19 April 2012 )


Build 120414 ( 14 April 2012 )

  • NEW: Added support for non-default bin and obj file path specified in Visual Studio projects when running the Visual Studio Project Integration Wizard.


Build 120329 ( 29 March 2012 )

  • NEW: Added support .Net Micro Framework 4.1
  • NEW: Improved support for SQL CLR assemblies when using Encrypt Strings .


Build 120316 ( 16 March 2012 )

  • FIX: When LogicNP.CryptoLicensing.dll is merged in your assembly, then calling ToString on enumerations from LogicNP.CryptoLicensing.dll (for example LicenseStatus, SerialValidationStatus, etc) are shown as obfuscated.


Build 120315 ( 15 March 2012 )

  • NEW: Added support for loading some assemblies with invalid metadata produced by the Visual C++ compiler or other assembly generators.


What's New!! in v2012


Build 120313 ( 13 March 2012 )

  • NEW: Support for .Net 4.5 and Visual Studio 2011 Beta.
  • NEW: Visual Studio Project Integration Wizard now supports projects which output XAP files.
  • NEW: Ability to retain the original namespace of classes even if the class names themselves are renamed.
  • NEW: Ability to specify the renamed namespace of types to something other than "A".
  • NEW: Improved error handling and search algorithm when searching for dependant assemblies in Search Directories.
  • NEW: Improved support for attributes with properties/fields set to arrays.
  • NEW: Improved support for SQL CLR assemblies in SAFE mode.
  • NEW: Improved parsing of source code file names in Exception Reporting.
  • NEW: Exception Viewer Dialog now supports exception report files dropped from Windows Explorer or other external sources.
  • NEW: Exception reporting now honors assembly level attribute to exclude all methods from that assembly from exception reporting.
  • NEW:Improved support for .Net 4.0 runtime when using Anti-Tamper setting.
  • NEW: Ability to exclude fields of a specific type from renaming.
  • NEW: Improved support for certain BAML files which have a collection of integers.
  • NEW: Improved support for reading dependant assemblies which might contain invalid metadata.
  • NEW: Improved support for attributes where properties/fields are set to enum values.
  • NEW: Ability to specify priority for obfuscation rules specific via code.
  • NEW: Paths specified via command-line can now be relative paths.
  • NEW: Ability to save Warnings to a file during obfuscation.
  • NEW: Ability to fail if an unsuppressed warning is found.
  • NEW: Exception Viewer Dialog: Ability to copy content of the focused cell or the entire report to the clipboard.
  • NEW: .obproj file created by the Visual Studio Project Integration Wizard are now automatically opened in Crypto Obfuscator UI.
  • NEW; Improved support for loading certain XAP files with unmanaged dlls.
  • NEW: Ability to disable certain in-built filters.
  • NEW: Obfuscated assembly preserves order in which interfaces are implemented - this is necessary for certain COM interop scenarios.
  • NEW: Improved support for marshalling scenarios.
  • NEW:Support for new cultures specified in RFC 4646.
  • NEW: Added "Enable Send Report" and "Enable Save To File" button functionality in Exception Reporting.
  • NEW: Improved auto-exclusion rules for NoPIA assemblies.
  • FIX: Satellite assemblies previously processed and saved to output folder were overwritten.
  • FIX: Bug in resource/satellite assembly processing.
  • FIX: Command line utility co.exe now returns failure code (1) if errors occur during loading of .obproj file.
  • FIX: Crash occurred when trying to add Exception Reporting to certain assemblies.
  • FIX: Crash when certain pdb files were being saved.


What's New!! in v2011 R3

  • NEW: Automatic Exception Reporting - Catch any unhandled exceptions and automatically report them to the exception reporting service.
  • NEW: Ability to specify compression and encryption for embedded/additional assemblies on per-assembly basis.
  • NEW: Improved support for XAML/BAML files.
  • NEW: Improved support for Medium Trust - more protections work in Medium Trust.
  • NEW: Support for Mixed mode assemblies added as "Additional Assemblies".
  • NEW: Static fields are now not excluded from renaming even if declaring type is marked as Serializable.
  • UI: Ability to remove all assemblies at once from the project.
  • FIX: Anti-Tamper functionality not working in obfuscated assemblies in some circumstances.
  • FIX: Stack Trace Deobfuscator did not open under some circumstances.



What's New!! in v2011 R2

  • NEW: Ability to tag map files with strings (typically build or version numbers). This allows easier stack trace deobfuscation.
  • NEW: Support for code signing Silverlight .xap files.
  • NEW: Ability to save Warnings list to an xml file.
  • NEW: Improved support for PDB files when obfuscating via MSBuild.
  • NEW: Ability to specify Obfuscation Rules via code using attributes.
  • NEW: Improved speed when control flow obfuscation is used.
  • NEW: Improved support for a wide variety of WPF BAML streams.
  • NEW: Much reduced memory requirements during obfuscation.
  • NEW: Much reduced memory requirements of obfuscated apps when assembly encryption or compression is used.
  • NEW: Improved support for Primary Interop Assemblies (PIO).
  • NEW: Support for non-ASCII characters in pdb filename.
  • NEW: Improved support for WPF Attached Properties.
  • NEW: Ability to reload last opened project at startup in the Crypto Obfuscator UI.
  • NEW: Themed modern look for the Crypto Obfuscator UI.
  • NEW: Improved support for "Web References" added to a project.
  • UI: Assemblies list is sorted alphabetically which makes it easier to locate a specific assembly.
  • UI: Ability to remove multiple assemblies at once from the obfuscation project.
  • UI: Ability to select a subset of assemblies to which UI changes are applied.
  • NEW: Improved auto searching for sn.exe and signtool.exe when strong naming and code signing assemblies.
  • NEW: Ability to specify search directories during commandline.
  • NEW: Improved support for enumerations.
  • NEW: Improved support for assemblies marked with "Allow Partially Trusted Caller" attribute.
  • NEW: Ability to disable method call hiding via obfuscation attributes.
  • FIX: Crash when obfuscating certain large assemblies.
  • FIX: Crash when obfuscating certain WPF assemblies with XAML dictionaries.
  • FIX: Crash in obfuscated Silverlight assemblies under certain circumstances when xap file is code signed.
  • FIX: Improved resolution of assemblies in the GAC.
  • FIX: Crash in x64 obfuscated assemblies when they used COM Interop.
  • FIX: Crash in certain obfuscated assemblies which contain unmanaged Win32 resources.
  • FIX: Incorrect obfuscation in certain cases of multiple interface implementations.

What's New!! in v2011

  • NEW: Ability to directly obfuscate XAP files.
  • NEW: Control flow obfuscation now produces verifiable IL.
  • NEW: Support for PDB files along with source file name obfuscation in stack traces.
  • NEW: Support for XAML/BAML renaming for WPF and Silverlight assemblies - class/member references in XAML/BAML can now be renamed too!
  • NEW: Improved obfuscation of XAML files by removing whitespaces, newlines and indents.
  • NEW: Automatic MSBuild integration of obfuscation using the "Visual Studio Project Integration" wizard.
  • NEW: 'Test Mode' renaming scheme which renames a class/member from XYZ to CO_XYZ. This is helpful during development and testing since the original names can be easily deduced without the need of the Stack Trace Deobfuscator.
  • NEW: Improved support for WCF assemblies.
  • NEW: Support for obfuscation of Windows Phone 7 (WP7) assemblies and xap files.
  • NEW: Much reduced memory usage during obfuscation of assemblies.
  • NEW: Improved support for ASP.Net assemblies.
  • NEW: Support for Authenticode signing of obfuscated assemblies.
  • NEW: Improved and expanded set of auto-exclusion rules.
  • NEW: Deobfuscate stack traces programmatically using the LogicNP.Deobfuscator.dll - this assembly does not have any dependencies and is completely standalone.
  • NEW: Support for environment variables. Paths like assembly paths, search directories, key paths, output paths, additional assembly paths, etc support environment variables.
  • NEW: Environment variables can be defined via the command-line.
  • NEW: Improved support for COM Interop scenarios.
  • NEW: IMproved support for interop assemblies like those of Office and Visio.
  • NEW: Method parameters can now be renamed even if the methods themselves are not renamed.
  • NEW: Improved dependant assembly searching in xap files.
  • NEW: Framework assemblies are automatically excluded when a xap file is added to a obfuscator project.
  • NEW: Improved support for satellite assemblies.
  • NEW: Improved stack trace deobfuscation.
  • NEW: Improved support for unmanaged Win32 resources in assemblies.
  • NEW: Improved support for renaming and exclusion rules for nested classes.
  • NEW: Ability to embed unmanaged dlls or image/text/data files in your assemblies.
  • NEW: Ability to enable/disable doing "Mark As Sealed" on specific classes via obfuscation attributes.
  • NEW: Types are "Mark As Sealed" even if not renamed.
  • NEW: Ability to enable/disable doing "Overload Renaming" for specific classes via obfuscation attributes.
  • FIX: Crash occurred in obfuscated assemblies if an unmanaged stdcall was made.
  • FIX: Unable to obfuscated in some rare cases of WPF BAML inputs.
  • FIX: Unable to embed some unmanaged assemblies in some circumstances.
  • FIX: Unable to obfuscate some xap files which contained sub-folders.
  • FIX: Unable to generate pdb files for some assemblies.
  • FIX: Incorrect behavior of obfuscated assemblies in rare cases of nested class usage.


What's New!! in v2010 R2

  • NEW: Ability to hide calls to methods and properties from external assemblies (such as those from the .Net framework).
  • NEW: Ability to hide calls to unrenamed methods and properties from the project assemblies. So, even if some methods and properties must be excluded from renaming, its impossible to determine when, where and how they are used.
  • NEW: Added Warnings feature which lists all lines of code (such as that which uses Reflection) which may work incorrectly in an obfuscated assembly.
  • NEW: Optimized the string encryption feature to reduce memory requirements during runtime.
  • NEW: Improved renaming algorithm is faster.
  • NEW: Improved support for default values for parameters and fields.
  • NEW: Added support for .Net Micro Framework 3.0 & 4.0
  • NEW: Added support for .Net Framework 4.0 and Visual Studio 2010
  • NEW: New command-line options added to specify additional obfuscation settings via command-line.
  • NEW: Added support for Silverlight for Phone.
  • NEW: Added support for x64 assemblies
  • NEW: Anti-Reflector Protection and Anti-Reflection Protection now works against .Net Reflector v6.x
  • NEW: Improved support for LINQ-to-SQL or other LINQ-to-XXXXX projects.
  • NEW: Added support for automatic obfuscation of satellite assemblies.
  • NEW: Improved support for XNA
  • NEW: Improved support for WCF projects.
  • NEW: When using cryptographic renaming, a salt is used so that new names of types/members are not deterministic across projects.
  • NEW: Stack traces can now be deobfuscated via command-line
  • NEW: Now interfaces are also matched against the 'Base Class Pattern Matching" pattern.
  • NEW: 'Base Class Pattern Matching" pattern now traverses the entire hierarchy, not just the immediate base class.
  • NEW: MSBuild task now honors the ContinueOnError property.
  • NEW: Added support for vararg methods.
  • NEW: Search Directories can now be relative to the project file just like assembly paths, key paths, etc
  • NEW: Added support for optional and required modifiers.
  • FIX: Fixed renaming bugs in certain interface implementation scenarios.
  • FIX: Clearer error message if project file is not specified properly via the command-line
  • FIX: Project file passed via command line can now have relative path
  • FIX: Fixed error in certain scenarios when signed obfuscated assemblies.
  • FIX: Obfuscation of Silverlight and Compact Framework assemblies did not work on x64 systems.
  • FIX: Symbol names produced by the cryptographic scheme are now CLS-compliant.


What's New!! in v2010

  • NEW: Improved obfuscation of WPF assemblies. Crypto Obfuscator can now analyses XAML files corresponding to a WPF assembly and automatically determine classes and members to exclude from Symbol Renaming.
  • NEW: Performs code analysis and presents a list of all lines in your code which can potentially cause an obfuscated assembly to fail to run or run incorrectly. This saves a tremendous amount of time when specifying classes and members to exclude from symbol renaming.
  • NEW: Ability to disable Symbol Renaming on a per assembly basis. All other settings such as control flow, string encryption, etc take effect independently of symbol renaming.
  • NEW: You can now exclude specified assemblies from embedding in the main assembly.
  • NEW: Improved honoring of NonSerialized attribute applied to fields.
  • NEW : Improved resolution od assembly references.
  • NEW: Each assembly in obfuscation project can now be signed with a different key file.
  • NEW: Support for signing assemblies using password protected pfx files.
  • NEW: Improved heuristics for automatic exclusion of classes and members based on their usage.
  • NEW: Improved support for SQL CLR assemblies.
  • NEW: Improved heuristics for automatic exclusion of classes and members for SQL CLR assemblies.
  • NEW: Ability to deobfuscate stack trace from command line.
  • NEW: Methods can now be excluded from control flow and string encryption using obfuscation attributes.
  • NEW: Assemblies targeting different .Net frameworks (normal Desktop framework, Compact framework, Silverlight and XNA) can now be put in the same obfuscation project.
  • NEW: General UI improvements and much faster obfuscation.


What's New!! in v2009

  • NEW: Deep integration (merging) of the LogicNP.CryptoLicensing.dll assembly in your assembly to remove obvious links between your assembly and CryptoLicensing, making it even more difficult to reverse-engineer or crack your assemblies.
  • NEW: Support for .Net Framework 4.0 Beta 2 and Visual Studio 2010.
  • NEW: Improved support for Silverlight 2.0 and 3.0.
  • NEW: Improved support for Compact Framework.
  • NEW: Add normal, compact framework, Silverlight and XNA assemblies to the same project.
  • NEW: Improved string encryption for Silverlight assemblies.
  • NEW: Improved assembly resolution during assembly obfuscation step.


What's New!! in v2.0

  • NEW : Advanced Overload Renaming
  • NEW : Anti-Debug & Anti-Tracing Protection
  • NEW : Advanced Tamper Detection
  • NEW : Rename To Unprintable Characters (All Symbols Look Same In Dissassembler/Decompiler)
  • NEW : Improved String Encryption With Compression And In-Built tamper Detection
  • NEW : Visual Studio Integration Via Build Events And MSBuild
  • NEW : Improved Compact Framework Support
  • NEW: Ability to specify search directories for dependant assemblies.
  • NEW: Ability to turn ON/OFF processing of obfuscation attributes used in code.
  • NEW: Ability to specify watermarks via command-line or MSBuild task.


What's New!! in v1.0

  • Initial release! Crypto Obfuscator For .Net is a powerful and easy-to-use obfuscation and protection product for code protection & obfuscation of .Net assemblies, their optimization and performance improvement & their smaller and simplified deployment.