Skip to content

Releases: mkaring/ConfuserEx

ConfuserEx 1.6.0

17 Jan 18:00
v1.6.0
4473419
Compare
Choose a tag to compare

🐛 Bugfixes

  • Fixed used instruction set for trace service by @mkaring in #331
  • Fixed RickRoller link for .NET Reflector users by @alexmurari in #332
  • Fixed invalid handle error in anti debug protection by @mkaring in #329
  • Improved template mode for CLI by @mkaring in #330
  • Fixed VTable analyzer for fully inherited slots by @mkaring in #344
  • Renaming fixes and improvements by @KvanTTT in #305
  • Fix renaming if shortNames parameter is true by @KvanTTT in #377
  • Case insensitive handling of culture identifier by @mkaring in #391
  • Fixed readme file by @mkaring in #392
  • Fixed faulty activation of hardening protection by @mkaring in #402
  • Fixing culture problem in decoder unit test by @mkaring in #403
  • Fixing key file path for msbuild integration by @mkaring in #417
  • Added description to nuget package by @mkaring in #418
  • Fixed detection of blocking references across multiple assemblies by @mkaring in #425
  • Add BlockingReferences test (failing for now) that reveals #379 by @KvanTTT in #398
  • Fixed rewriter for TypeScramber by @mkaring in #449
  • Fixed the Obfuscation Attribute marker by @mkaring in #446
  • Fix handling of relative paths by @mkaring in #447

🎉 Improvements

  • Added support for C# CallSite Binder by @mkaring in #350
  • Renaming fixes and improvements by @KvanTTT in #305
  • Implement ParamDef copy for the code injection by @oSumAtrIX in #366
  • Add more error info when method not found by @a180285 in #372
  • Changing header of compression block to 4 byte integer by @mkaring in #304
  • Add test MessageDeobfuscationWithSymbolsMap for sequential rename mode by @KvanTTT in #378
  • Using cache during analysis phase by @mkaring in #374
  • Renaming improvements by @KvanTTT in #384
  • Improve reversible renamer protection with random password by @KvanTTT in #393
  • Clarify name generation in sequential renaming mode by @KvanTTT in #409

📦 Dependencies

  • Bump dnlib from 3.3.2 to 3.4.0
  • Bump Microsoft.Build.Framework from 16.8.0 to 16.11.0
  • Bump Microsoft.NET.Test.Sdk from 16.8.3 to 17.0.0
  • Bump Microsoft.NETFramework.ReferenceAssemblies from 1.0.0 to 1.0.2
  • Bump Microsoft.SourceLink.GitHub from 1.0.0 to 1.1.1
  • Bump Moq from 4.16.0 to 4.16.1
  • Bump Nerdbank.GitVersioning from 3.3.37 to 3.4.255
  • Bump Ookii.Dialogs.Wpf from 3.1.0 to 4.0.0
  • Bump System.IO.Packaging from 5.* to 6.*

New Contributors

Full Changelog: v1.5.0...v1.6.0

ConfuserEx 1.6.0 RC1

23 Dec 11:38
v1.6.0-rc1
5c9b693
Compare
Choose a tag to compare
ConfuserEx 1.6.0 RC1 Pre-release
Pre-release

🐛 Bugfixes

  • Fixed used instruction set for trace service by @mkaring in #331
  • Fixed RickRoller link for .NET Reflector users by @alexmurari in #332
  • Fixed invalid handle error in anti debug protection by @mkaring in #329
  • Improved template mode for CLI by @mkaring in #330
  • Fixed VTable analyzer for fully inherited slots by @mkaring in #344
  • Renaming fixes and improvements by @KvanTTT in #305
  • Fix renaming if shortNames parameter is true by @KvanTTT in #377
  • Case insensitive handling of culture identifier by @mkaring in #391
  • Fixed readme file by @mkaring in #392
  • Fixed faulty activation of hardening protection by @mkaring in #402
  • Fixing culture problem in decoder unit test by @mkaring in #403
  • Fixing key file path for msbuild integration by @mkaring in #417
  • Added description to nuget package by @mkaring in #418
  • Fixed detection of blocking references across multiple assemblies by @mkaring in #425
  • Add BlockingReferences test (failing for now) that reveals #379 by @KvanTTT in #398
  • Fixed rewriter for TypeScramber by @mkaring in #449
  • Fixed the Obfuscation Attribute marker by @mkaring in #446
  • Fix handling of relative paths by @mkaring in #447

🎉 Improvements

  • Added support for C# CallSite Binder by @mkaring in #350
  • Renaming fixes and improvements by @KvanTTT in #305
  • Implement ParamDef copy for the code injection by @oSumAtrIX in #366
  • Add more error info when method not found by @a180285 in #372
  • Changing header of compression block to 4 byte integer by @mkaring in #304
  • Add test MessageDeobfuscationWithSymbolsMap for sequential rename mode by @KvanTTT in #378
  • Using cache during analysis phase by @mkaring in #374
  • Renaming improvements by @KvanTTT in #384
  • Improve reversible renamer protection with random password by @KvanTTT in #393
  • Clarify name generation in sequential renaming mode by @KvanTTT in #409

📦 Dependencies

  • Bump dnlib from 3.3.2 to 3.4.0
  • Bump Microsoft.Build.Framework from 16.8.0 to 16.11.0
  • Bump Microsoft.NET.Test.Sdk from 16.8.3 to 17.0.0
  • Bump Microsoft.NETFramework.ReferenceAssemblies from 1.0.0 to 1.0.2
  • Bump Microsoft.SourceLink.GitHub from 1.0.0 to 1.1.1
  • Bump Moq from 4.16.0 to 4.16.1
  • Bump Nerdbank.GitVersioning from 3.3.37 to 3.4.244
  • Bump Ookii.Dialogs.Wpf from 3.1.0 to 4.0.0
  • Bump System.IO.Packaging from 5.* to 6.*

New Contributors

Full Changelog: v1.5.0...v1.6.0-rc1

ConfuserEx 1.5.0

21 Feb 10:13
v1.5.0
Compare
Choose a tag to compare

🐛 Bugfixes

  • Fixed a wrong override signature, causing a System.Runtime.AmbiguousImplementationException in the mono runtime (#319)
  • Fixed crash in msbuild integration, in case no symbol.map file is present (#317)
  • Fixed dependency resolving to files provided as external modules (#316)
  • Fixed rename protection in different complex class and interface structures (#187 #252 #306)
  • Fixed renaming property references in BAML/XAML files for WPF (#196)
  • Fixed resolving assemblies that have different versions in the project directory and the GAC (#144)
  • Fixed constant protection for enum-arrays (#270)
  • Fixed jump type for the control flow obfuscation (#184)
  • Fixed strong mode for the reference proxy (#229)
  • Fixed crash during rename protection when enabling the symbol file processing while the assemblies don't have pdb files (#185)
  • Fixed obfuscation for .NET Framework 2.0 and 3.5 projects (#291)
  • Fixed AntiTamper protection for mixed assemblies (#244)
  • Fixed Type Scambler protection for mixed assemblies (#244)
  • Symbol mapping files and debug symbols are now copied properly when using the MSBuild integration (#218)

🎉 Improvements

  • Improved assembly resolver - The new version prefers resolving the correct versions if possible, especially when the assembly references are explicitly set as external modules (#232 #277)
  • Double click can now be used in the UI to open the settings of modules and the rules (#174)
  • Error messages for wrong pattern, now give additional information as to what is wrong (#213)

🚀 New features

  • Reactivated type scrambler protection (#231) - Thanks @ElektroKill
  • New rename mode reflection that sits between ascii and letters. This mode uses as many characters as possible, but only those that are safe for reflection usage (#258)
  • Added nsFormat parameter for the rename protection that allows adding prefix and suffix to the namespaces (#286)

📦 Dependencies

  • Updated dnlib from 3.1.0 to 3.3.2
  • Updated MSBuild.Sdk.Extras from 2.0.41 to 2.1.2
  • Updated Microsoft.Build.Framework from 16.6.0 to 16.8.0
  • Updated Microsoft.NET.Test.Sdk from 15.8.0 to 16.8.3
  • Updated Microsoft.Win32.Registry from 4.7.0 to 5.0.0
  • Updated Moq from 4.10.1 to 4.16.0
  • Updated MvvmLightLibs from 5.4.1 to 5.4.1.1
  • Updated Nerdbank.GitVersioning from 2.1.65 to 3.3.37
  • Updated xunit from 2.3.1 to 2.4.1
  • Updated xunit.runner.visualstudio from 2.3.1 to 2.4.3
  • Updated System.IO.Packaging from 4.* to 5.*

🙏 Thank you

Thank you to everyone reporting issues, creating pull-requests and in general using ConfuserEx. Special thanks to @ElektroKill and @KvanTTT for their continued contributions, ideas and reviews.

ConfuserEx 1.5.0 RC2

10 Feb 23:00
v1.5.0-rc2
d1986d5
Compare
Choose a tag to compare
ConfuserEx 1.5.0 RC2 Pre-release
Pre-release

This release fixes some regressions of the first release candidate.

🐛 Bugfixes

  • Fixed crash in msbuild integration, in case no symbol.map file is present (#317)
  • Fixed dependency resolving to files provided as external modules (#316)

ConfuserEx 1.5.0 RC1

27 Jan 22:57
v1.5.0-rc1
f8bab6a
Compare
Choose a tag to compare
ConfuserEx 1.5.0 RC1 Pre-release
Pre-release

🐛 Bugfixes

  • Fixing rename protection in different complex class and interface structures (#187 #252 #306)
  • Fixed renaming property references in BAML/XAML files for WPF (#196)
  • Fixed resolving assemblies that have different versions in the project directory and the GAC (#144)
  • Fixed constant protection for enum-arrays (#270)
  • Fixed jump type for the control flow obfuscation (#184)
  • Fixed strong mode for the reference proxy (#229)
  • Fixed crash during rename protection when enabling the symbol file processing while the assemblies don't have pdb files (#185)
  • Fixed obfuscation for .NET Framework 2.0 and 3.5 projects (#291)
  • Fixed AntiTamper protection for mixed assemblies (#244)
  • Fixed Type Scambler protection for mixed assemblies (#244)
  • Symbol mapping files and debug symbols are now copied properly when using the MSBuild integration (#218)

🎉 Improvements

  • Improved assembly resolver - The new version prefers resolving the correct versions if possible, especially when the assembly references are explicitly set as external modules (#232 #277)
  • Double click can now be used in the UI to open the settings of modules and the rules (#174)
  • Error messages for wrong pattern, now give additional information as to what is wrong (#213)

🚀 New features

  • Reactivated type scrambler protection (#231) - Thanks @ElektroKill
  • New rename mode reflection that sits between ascii and letters. This mode uses as many characters as possible, but only those that are safe for reflection usage (#258)
  • Added nsFormat parameter for the rename protection that allows adding prefix and suffix to the namespaces (#286)

📦 Dependencies

  • Updated dnlib from 3.1.0 to 3.3.2
  • Updated MSBuild.Sdk.Extras from 2.0.41 to 2.1.2
  • Updated Microsoft.Build.Framework from 16.6.0 to 16.8.0
  • Updated Microsoft.NET.Test.Sdk from 15.8.0 to 16.8.3
  • Updated Microsoft.Win32.Registry from 4.7.0 to 5.0.0
  • Updated Moq from 4.10.1 to 4.16.0
  • Updated MvvmLightLibs from 5.4.1 to 5.4.1.1
  • Updated Nerdbank.GitVersioning from 2.1.65 to 3.3.37
  • Updated xunit from 2.3.1 to 2.4.1
  • Updated xunit.runner.visualstudio from 2.3.1 to 2.4.3
  • Updated System.IO.Packaging from 4.* to 5.*

ConfuserEx 1.4.1

12 Jul 18:45
v1.4.1
5d92e25
Compare
Choose a tag to compare

This release contains the fixes for the critical issues that were found in ConfuserEx 1.4.0.

🐛 Bugfixes

  • Fixed control flow obfuscation (#163)
  • Fixed debug rename mode (#167 #169)

🚀 New features

  • New retain mode for renaming, that keeps the names as they are (#170)

ConfuserEx 1.4.0

06 Jul 20:27
v1.4.0
Compare
Choose a tag to compare

⚠️ Severe known issue

There is a severe issue related to the control flow obfuscation. The protection will break the runtime behavior of complex methods. At this point is recommended to stick to the previous release until a fixed version is released.

The issue is tracked here: #162

🚀 New features

  • Support for enhanced strong name signing (#118)
    Enhanced strong name signing is now fully supported in the CLI and GUI.
    Thanks to @justremotephone for the implementation.
  • New hardening protection added. (#129 #135)
    This new protection enhances the code of the other protections to make common methods to read ConfuserEx protected assemblies significantly more difficult.

🐛 Bugfixes

  • Fixed buttons in ConfuserEx UI that were not switching the enabled and disabled state properly. (#99)
  • Fixed renaming of protected properties and events. (#103)
    These members are not renamed anymore, in case they are visible outside of the assembly.
  • Fixed renaming of XAML files, in case multiple WPF assemblies are protected as once. (#105)
  • Fixed output handling for MSBuild integration. Replacing the output assemblies now works properly (#110)
  • Fixed watermark handling in case the watermark assembly is already present. This usually happens in case an assembly is obfuscated twice. (#116)
  • Tracing the used arguments of a method now works significantly better in case dup instructions are present. (#127 #152)
  • Fixed rename handling in WPF property paths. The properties were renamed, but the new names did not get transferred to the BAML. (#137)
  • Fixed error in control flow obfuscation that turned any loop into a infinite loop by chance (#153)
  • Fixed renaming of inherited properties and events (#123 #154)
    Properties and events now share their name across the inheritance structure, to allow the reflection handling of those properties to work properly. This entails that properties are not getting renamed, in case they are implementing a property that is not subject to protection.
    Thanks to @wmjordan for the support figuring this one out.

🎉 Improvements

  • Support for disabling the watermark. (#115)
    Some people really dislike the watermark, so there is now a way to disable it. The watermark is now a "protection" that is enabled by default. This protection can be removed in a rule covering the module to remove the watermark.
  • Splitting up release packages (#146 #157)
    The packages for ConfuserEx are now split into 3 deployments.
    • ConfuserEx-CLI.zip contains only the CLI executable and it's dependencies
    • ConfuserEx-GUI.zip contains only the GUI executable and it's dependencies
    • ConfuserEx.zip contains everything

🙏 Thank you

Thank you to everyone reporting issues, creating pull-requests and in general using ConfuserEx. Special thanks to @ElektroKill and @KvanTTT for the contributions, ideas and reviews.

ConfuserEx 1.3.1

12 Oct 16:13
v1.3.1
Compare
Choose a tag to compare

🐛 Bugfixes:

  • Fixed critical error related to the ObfuscationAttribute #95
    The attribute was not working on assembly and module level anymore

ConfuserEx 1.3.0

30 Sep 11:31
v1.3.0
Compare
Choose a tag to compare

🐛 Bugfixes:

  • Fixed ApplyToMembers property handling of ObfuscationAttribute (#75)
  • Fixed handling of generic types by the renaming protection (#78)
  • Fixed compatibility issue of AntiDebug protection in .NET Framework 2.0 assemblies (#54)
  • Fixed renaming issue with Windows Forms data properties (#54)
  • Fixed issue when altering source code near a filtered catch clause (#82)
  • Fixed error when using a named argument in an attribute, that is part of the base type of the attribute (#84)
  • Fixed error in tracing service, causing a crash when renaming objects in a method if branches in specific locations (#85)
  • Fixed renamer breaking the generic parts of classes, even if it's not activated (#87)

🎉 Improvements:

  • Improved stack decoder (#92)
    • Using password field for password value
    • Word-wrapping decoded stack for better readability

ConfuserEx 1.2.0

27 May 19:15
v1.2.0
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed decodable renaming of generic types
  • Fixed cleanup of files when using the packer
  • Fixed renamer in case one method implicitly implements multiple interface members
  • Fixed some more resource handling issues in VB.NET projects

Improvements

  • Improved handling of reflection methods (using GetMethod, GetField, etc. disables the renaming of members with this name)