ConfuserEx is an open-source protector for .NET applications. It offers
advanced security to applications written in C#, VB, F#, and other .NET
languages.
ConfuserEx is the successor to Confuser
project. While Confuser is widely regarded as one of the strongest
obfuscators available in .NET, ConfuserEx continues to provide excellent
protections to .NET applications.
ConfuserEx is special in two ways:
ConfuserEx is open-source and free.
As far as I know, ConfuserEx is the only open-source and free .NET protector
that has protections comparable with commercial protectors. Since it’s
open-source, you could modify it to suits your need. Consequently, unlike
other protectors, a generic deobfuscator for different custom version of
ConfuserEx would be virtually impossible to be created.
ConfuserEx has plugin system.
ConfuserEx’s plugin system allows developers to create their own
protections. This allows different modular protections to be applied in the
same application, and greatly enhance the security.
Open-source does not necessarily reduce security, and close-source does not equals to strong protection.
Take the famous deobfuscator de4dot as an example. As stated in its homepage, it supports many close-sourced commerical protectors. It shows that close-sourced protectors are not necessarily secure.
Meanwhile, open-source protectors might not be as insecure as you maight thought. The predecessor of ConfuserEx, Confuser, has been released for 4 years. Only until recently, a public deobfuscator is available for it, and it doesn’t even have 100% sucess rate in deobfuscation. Apparently, Confuser, an open-source protector, provides better security than those close-sourced protectors.
Sure it is!
ConfuserEx has many techniques that commerical protector used, and some more! If you have any doubt about protection strength, feel free to contact me!
A GUI is available since version 0.2.0. Go check it out!
Documentation is now available at the project wiki! If you still got any problem, please don’t hesitate to contact me or open an issue!
ConfuserEx’s project format is quite similar to Confuser’s. There are few places to note:
assembly
and confusion
elements are replaced by module
and protection
elements respectively.basePath
attribute and use relative path in other places
of project file.