Hacking Tools

ConfuserEx2 String Decryptor – A Guide To Deobfuscating .NET Applications

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.

Description

ConfuserEx2_String_Decryptor is a simple C# console application that uses:

  • AsmResolver – .NET Assembly Manipulation (modification of IL code and metadata)
  • Harmony2 – Managed Hooking (to defeat some anti-checks)
  • .NET Reflection – Dynamic Invocation

The [Release] binaries are compiled for both win-x86 and win-x64 using .NET Framework 4.7.2.

Building On Windows

  • Install Visual Studio
  • Open .sln and restore NuGet packages (AsmResolver.DotNet, Lib.Harmony, etc.) → should be automatic if the NuGet URL is configured
  • Build – Release both x86, x64

Usage

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>

ConfuserEx2 (1.6.0+-) Full Deobfuscation Guide

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.

Description

Most of these tools are based on well-known open-source libraries and use:

  • AsmResolver & dnlib – .NET Assembly Manipulation (modification of IL code and metadata)
  • Harmony2 – Managed Hooking (to defeat some anti-checks)
  • .NET Reflection – Dynamic Invocation
  • De4dot – CF deobfuscation and renaming (it is a different version than the original one)

The [Release] contains also all tools used in this guide “ConfuserEx2_Deobfuscate_Tools.7z

GUIDE – Steps

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).

Tamil S

Tamil has a great interest in the fields of Cyber Security, OSINT, and CTF projects. Currently, he is deeply involved in researching and publishing various security tools with Kali Linux Tutorials, which is quite fascinating.

Recent Posts

GlobalUnProtect – Decrypting And Harvesting Sensitive Data From GlobalProtect Installations

PoC tool for decrypting and collecting GlobalProtect configuration, cookies, and HIP files from windows client…

11 mins ago

Capa v7.3.0 – Enhanced Malware Analysis With VMRay Integration, Ghidra Support, And New Capa Rules Website

The v7.3.0 capa release comes with the following three major enhancements: 1. Support For VMRay…

16 mins ago

MSSprinkler – Enhancing M365 Security Through Advanced Password Testing

MSSprinkler is a password spraying utility for organizations to test their M365 accounts from an…

23 mins ago

Inception – A Deep Dive Into PCI-Based DMA Memory Hacking

Inception is a physical memory manipulation and hacking tool exploiting PCI-based DMA. The tool can…

28 mins ago

NyxInvoke – A Comprehensive Guide To Advanced Execution Techniques In Rust

NyxInvoke is a versatile Rust-based tool designed for executing .NET assemblies, PowerShell commands/scripts, and Beacon…

3 days ago

Learn Rust, One Exercise At A Time

You've heard about Rust, but you never had the chance to try it out?This course…

3 days ago