ConfuserEx2 is the latest version from the Confuser family → An open-source, free protector for .NET applications.
ConfuserEx2_String_Decryptor deobfuscates constants protection, targeting string objects and char[] arrays.
This tool was tested on the vanilla version of ConfuserEx2 (ConfuserEx 1.6.0+-), but it should also handle some customized versions.
ConfuserEx2_String_Decryptor is a simple C# console application that uses:
The [Release] binaries are compiled for both win-x86 and win-x64 using .NET Framework 4.7.2.
Use on unpacked samples (Dumped – Passing Module Constructor)
ConfuserEx2_String_Decryptor.exe (32-bit) on 32-bit samples and (64-bit) on 64-bit samples
Drag&Drop or ConfuserEx2_String_Decryptor.exe <filepath>
As a lot of malware devs, commodity malwares, and TAs are often using this obfuscator (avoiding older versions) to protect .NET samples, I put together some simple tools and steps that should help with deobfuscation.
This guide was tested on the vanilla version of ConfuserEx2, but it should also handle some simply customized versions.
Most of these tools are based on well-known open-source libraries and use:
The [Release] contains also all tools used in this guide “ConfuserEx2_Deobfuscate_Tools.7z“
If the sample is packed (which means the IL code of the methods is not visible in tools like dnSpyEx), debug it and dump it from memory just after the module constructor execution is over, heading to the original entrypoint.
Preserve as much metadata as possible during the saving of the module from memory.
The original entrypoint is very often deleted from the .NET module metadata, so repair it in a tool like dnSpyEx.
Use the specific version of de4dot for CF cleaning and renaming.
de4dot.exe <filepath> -p crx Use the string decryption tools (ConfuserEx2_String_Decryptor) → 32-bit version on 32-bit samples and 64-bit version on 64-bit samples.
Use the ProxyCall-Remover to get rid of proxy methods (should help to inline them).
Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…
Introduction A self-signed SSL certificate is a certificate that is created and signed by the…
Introduction Debugging is an important part of Bash scripting. When a script does not work…
Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…
Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…
Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…