Releases: mkaring/ConfuserEx
Releases · mkaring/ConfuserEx
ConfuserEx 1.6.0
🐛 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
- @alexmurari made their first contribution in #332
- @oSumAtrIX made their first contribution in #366
- @a180285 made their first contribution in #372
Full Changelog: v1.5.0...v1.6.0
ConfuserEx 1.6.0 RC1
🐛 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
- @alexmurari made their first contribution in #332
- @oSumAtrIX made their first contribution in #366
- @a180285 made their first contribution in #372
Full Changelog: v1.5.0...v1.6.0-rc1
ConfuserEx 1.5.0
🐛 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 betweenascii
andletters
. This mode uses as many characters as possible, but only those that are safe for reflection usage (#258) - Added
nsFormat
parameter for therename
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
ConfuserEx 1.5.0 RC1
🐛 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 betweenascii
andletters
. This mode uses as many characters as possible, but only those that are safe for reflection usage (#258) - Added
nsFormat
parameter for therename
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
ConfuserEx 1.4.0
⚠️ 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 dependenciesConfuserEx-GUI.zip
contains only the GUI executable and it's dependenciesConfuserEx.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
🐛 Bugfixes:
- Fixed critical error related to the
ObfuscationAttribute
#95
The attribute was not working on assembly and module level anymore
ConfuserEx 1.3.0
🐛 Bugfixes:
- Fixed
ApplyToMembers
property handling ofObfuscationAttribute
(#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
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)