O
Opaquer.NET
Download Opaquer
Home/ Documentation/ Which .NET Obfuscator Supports .NET 11?
Now Supports .NET 11

Which .NET Obfuscator Supports .NET 11?

Opaquer was redeveloped for .NET 11 and tested extensively with several types of net11.0 apps. Here is what it protects and how to use it.

By the Rustemsoft Technical Team • Updated November 11, 2026

Direct Answer

Yes. Opaquer .NET Obfuscator supports .NET 11. It was redeveloped for .NET 11, which Microsoft released on November 10, 2026, and tested extensively with several types of .NET 11 applications. Opaquer protects net11.0 assemblies at the IL and metadata level with name obfuscation, string encryption, and control flow obfuscation, and it continues to support .NET Framework, .NET Core, and earlier .NET versions. The Basic edition is free, so you can protect a .NET 11 build today and compare the results yourself.

Protecting .NET 11 applications from day one

.NET 11 reached general availability on November 10, 2026, announced at .NET Conf. It is a Standard Term Support (STS) release with two years of support, so teams are now deciding whether to move production apps from .NET 10 (LTS). C# 15 is the default language version for net11.0 projects, and the runtime adds runtime-native async, which Microsoft says produces cleaner stack traces and lower overhead.

None of this changes the core reality that shipped .NET assemblies are readable. Without protection, an assembly can be decompiled to readable C# or VB.NET within seconds. Because an obfuscator rewrites compiled output, it has to be built for the runtime it protects. Opaquer was redeveloped for .NET 11 and tested extensively with several types of .NET 11 apps, so you can protect net11.0 builds from the start.

What obfuscation does to your IL

This is the “Hello World” example from the Opaquer manual: a console app with two private fields, inspected with ILDasm before and after name obfuscation.

Before (readable) ILDasm
.class private auto ansi sealed beforefieldinit Module1
{
  .field private static string str
  .field private static valuetype [mscorlib]System.DateTime today

  .method public static void Main() cil managed
  {
    .entrypoint
    IL_0001: ldsfld string ConsoleApplication1.Module1::str
    IL_0006: ldsfld valuetype [mscorlib]System.DateTime
             ConsoleApplication1.Module1::today
    IL_0015: call void [mscorlib]System.Console::WriteLine(string)
    IL_001c: ret
  }
}
After (name obfuscation) Opaquer
.class private auto ansi sealed beforefieldinit '0AAAA'
{
  .field private static string '1AAA0'
  .field private static valuetype [mscorlib]System.DateTime '2AAAA'

  .method public static void '1AAAA'() cil managed
  {
    .entrypoint
    IL_0001: ldsfld string ConsoleApplication1.'0AAAA'::'1AAA0'
    IL_0006: ldsfld valuetype [mscorlib]System.DateTime
             ConsoleApplication1.'0AAAA'::'2AAAA'
    IL_001c: ret
  }
}

Choosing the Non-Displayable characters naming rule goes further: identifiers use characters that are invalid in IL, so the output cannot be recompiled with ILAsm.

Table 1: What a .NET 11 team needs vs. what Opaquer provides

Requirements mapped to documented Opaquer features
RequirementOpaquer feature (per documentation)Edition
.NET 11 (net11.0) supportRedeveloped for .NET 11 and tested with several types of .NET 11 apps; also .NET Framework 1.0–4.8, .NET Core and .NET 5–10All
Hide class, method, field, property namesPrivate, public and internal name obfuscation; optional non-recompilable namingAll
Keep hardcoded secrets out of static analysisString encryption, in-assembly or in a separate native DLLAll
Make decompiled logic unreadableLightweight Control Flow (opaque predicates, fake branches, non-linear paths)All
Protect licensing or algorithm kernelsHigh-Intensity Control Flow with selective code virtualization (up to 3 methods per assembly, internet required at runtime)Enterprise
Protect a WPF user interfaceBAML/XAML protection for C# apps on .NET 6 or laterSee docs
Automated, repeatable release buildsCommand-line interface, XML settings file per project, Visual Studio and Azure DevOps integrationPro and above
Decode obfuscated crash reportsXML renaming mapAll

Feature details follow the Opaquer manual and the published plan comparison; .NET 11 support comes from Rustemsoft’s own testing. Confirm current details on the pricing section.

Table 2: Threats to a .NET 11 app vs. protection technique

Threats against .NET 11 applications mapped to Opaquer protection techniques
ThreatWhy it still applies on .NET 11Protection technique
Decompiling to readable C#C# 15 compiles to IL with full metadata, just like earlier versionsIdentifier renaming (private, public, internal)
Searching for strings such as license text, URLs, keysString literals are stored in plain form in the assemblyString encryption; native DLL storage for sensitive values
Following program logic in a decompilerMethod bodies stay structured and linear without protectionControl flow obfuscation
Patching a license checkA single method often gates activationHigh-Intensity Control Flow plus selective code virtualization (Enterprise)
Extracting WPF UI structureXAML compiles to BAML, which tools can convert back to XAMLBAML/XAML obfuscation (.NET 6+, C#)
Rebuilding a modified copyReadable IL can be reassembledNon-displayable naming mode; anti-tampering
Behavior changes after obfuscation.NET 11 adds new runtime features such as runtime-native asyncOpaquer tested against several types of .NET 11 apps; still run your own suite on the protected build

Obfuscation raises the cost of reverse engineering; it does not replace server-side enforcement or sound key management.

Inside Opaquer

Screenshots from the official manual. Configure once in the GUI, then save the settings for repeat runs.

Opaquer Details tab showing assembly properties and structure tree
Details tab. Browse assembly properties and the structure tree.
Opaquer Control Flow tab with method selection tree and algorithm options
Control Flow tab. Pick algorithm and select methods individually.
Opaquer Strings tab with string value tree and encryption settings
Strings tab. Check the string values to encrypt; choose where they are stored.
Opaquer Settings tab with naming rules and assembly signing options
Settings tab. Naming rules, signing and selective obfuscation.

Protect a net11.0 app in six steps

  1. 1. Build Release. Compile your net11.0 project in Release configuration.
  2. 2. Open and configure. Open the assembly in Opaquer, set naming rules, strings and control flow, and exclude members that external code references by name.
  3. 3. Start light. Use Lightweight Control Flow on a small set of sensitive methods first, as the manual recommends, then expand.
  4. 4. Obfuscate and inspect. Run the obfuscation, then open the output in ILSpy or dotPeek to confirm names and logic are scrambled.
  5. 5. Test the protected output. Run unit and integration tests, and exercise reflection, serialization, interop and async-heavy code paths on the obfuscated build.
  6. 6. Automate. Save settings to an XML file, then call the CLI from a post-build event or pipeline step. Keep an unobfuscated build for rollback.

Protect your .NET 11 build with Opaquer

Start with the free Basic edition and check results on your own assemblies.

Frequently asked questions

Does Opaquer support .NET 11?+
Yes. Opaquer was redeveloped to support .NET 11, which became generally available on November 10, 2026, and has been tested extensively with several types of .NET 11 applications. It protects net11.0 assemblies with name obfuscation, string encryption, and control flow obfuscation. As with any obfuscated release, run your own test suite on the protected build before shipping.
Which .NET versions does Opaquer support?+
Opaquer supports .NET 11. Its manual also documents support for .NET Framework 1.0–4.8, .NET Core, and .NET 5–10, covering console apps, Windows desktop apps, services, and class libraries.
Is there a free edition of Opaquer?+
Yes. The Basic edition is free and includes private and public name obfuscation, string value encryption, and lightweight control flow obfuscation. Pro ($189.99) adds the command-line interface, and Enterprise ($489.99) adds High-Intensity Control Flow with selective code virtualization, team deployment, and internet-free build server support. See current pricing.
Can Opaquer protect a WPF application targeting net11.0?+
Opaquer's WPF (XAML/BAML) protection applies to applications built on .NET 6 or later, which includes net11.0, and written in C#. VB.NET WPF projects and .NET Framework 4.x WPF projects are not supported by that feature. Test your WPF build after obfuscation.
How do I add Opaquer to a .NET 11 build pipeline?+
Save your assembly settings in the GUI first, then call the command-line interface (Pro edition) from a Visual Studio post-build event or an Azure DevOps step with options such as -SOURCE, -OUTPUT, -KEY, -ALLPRIVATE, -CONCEALSTRINGS and -FLOW. Opaquer must be installed on a self-hosted agent, and parallel project builds should be limited to one in Visual Studio to avoid file locks.
How does Opaquer protect string values?+
Opaquer encrypts string literals and injects a decryption routine that restores them at runtime. You can keep encrypted strings inside the output assembly, or store them in a separate native C++ DLL, which is the recommended option for high security but must be deployed in the same folder as your assembly.
How can I debug an obfuscated .NET 11 application?+
Opaquer generates an XML renaming map that records original and obfuscated names. Use it to translate obfuscated stack traces back to readable method and class names, and keep an unobfuscated build available for fast rollback. See Debug an Obfuscated .NET Application.

Related Opaquer guides