Decompiler-proof .NET.
In three lines.
Production-shipping since before .NET 1.0 launched. Rebuilt from the ground up for .NET 10. One NuGet package. One MSBuild property. Done.
public class PricingEngine
{
private readonly decimal _baseRate;
public decimal CalculateDiscount(Order order)
{
var tier = GetCustomerTier(order.CustomerId);
var volume = order.Items.Sum(i => i.Quantity);
return _baseRate * TierMultiplier(tier, volume);
}
} public class a
{
private readonly decimal a;
public decimal a(b A_0)
{
var a = a(A_0.a);
var b = A_0.a.a(a => a.a);
return a * a(a, b);
}
} Why teams switch to Demeanor
The oldest .NET obfuscator. The only one with per-company licensing, no phone-home activation, and a perpetual purchase option.
| Demeanor | Dotfuscator Pro | SmartAssembly | |
|---|---|---|---|
| First released | 1999 | 2003 | 2007 |
| Distribution | NuGet package | Installer | Installer |
| Build integration | MSBuild property | Post-build step | Post-build step |
| Phone-home licensing | No | Yes | Yes |
| Per-company license | Yes | Per-seat | Per-machine |
| Perpetual option | $799 | No (subscription only) | No (subscription only) |
| Free tier | Full renaming | Crippled (VS only) | Non-distributable |
| Modern .NET | .NET 10 / C# 14 | .NET 8 | .NET 8 |
| Single package, all platforms | Win, Linux, Mac x64 & ARM | Windows only | Windows only |
| Source code license available | Yes | No | No |
| Works offline / air-gapped | Yes | No | No |
| Professional price | $799 perpetual | ~$2,000+/yr | ~$777/yr |
| Enterprise price | $1,499/yr | ~$2,000+/yr | ~$777/yr |
Standard .NET commands. Nothing new to learn.
Install the CLI
dotnet tool install -g Demeanor.NET One-time setup. Works on Windows, Linux, and Mac.
Add Demeanor to your project
dotnet add package Demeanor.NET.Build Enables obfuscation for Release builds. Run once per project.
Build
dotnet build -c Release Your Release output is now obfuscated. Every subsequent build is too.
See the result
demeanor inspect bin/Release/net10.0/MyProject.dll Shows exactly what was renamed, encrypted, and obfuscated.
Layered protection, zero friction
Every technique compounds. Renaming alone raises the bar. Add encryption and control flow obfuscation, and static analysis becomes intractable.
Symbol Renaming
Types, methods, fields, properties, events, and parameters — all renamed to strip semantic meaning. Alpha or Unicode naming modes.
All tiersString Encryption
Encrypts string literals in-place. Decompilers see cipher text; strings decrypt transparently at runtime with per-method keys.
Professional+Constants Encryption
Numeric and boolean constants are encrypted and wrapped in decryption stubs, removing magic numbers that reveal algorithm intent.
Professional+Resource Encryption
Embedded resources — XAML, images, data files — are encrypted and compressed. Decompiled assemblies yield only cipher bytes.
Professional+Control Flow Obfuscation
Flattens and restructures method control flow graphs. Switch dispatch replaces natural branching, defeating pattern-based decompilation.
Professional+Reference Proxy
Replaces direct method calls with delegate-based indirection. Call targets become invisible to static analysis and cross-reference tools.
Professional+Multi-Assembly
Obfuscate your entire application as a unit with --app. Cross-assembly references are renamed consistently, with type forwarding preserved.
Incremental Obfuscation
Feed a prior obfuscation report to keep rename mappings stable across builds. Patches stay small; customer deployments stay consistent.
EnterpriseTransparent pricing. No sales calls.
Per-company licensing — every developer in your organization is covered. No seat counting, no machine locking, no activation server.
Real obfuscation, not a crippled demo. Ship protected code at no cost.
- Symbol renaming (types, methods, fields, properties, events, parameters)
- Alpha naming mode
- Single assembly
- NuGet + MSBuild integration
- Windows, Linux, Mac x64 & ARM
Perpetual license. Includes 1 year of updates. Renewal: $299/yr for continued updates.
- Everything in Community, plus:
- String encryption
- Constants encryption
- Resource encryption
- Control flow obfuscation
- Reference proxy
- Unicode naming mode
--allflag- Disassembly & reflection blocking
Annual subscription. Unlimited developers. All updates included.
- Everything in Professional, plus:
- Multi-assembly obfuscation (
--app) - Incremental obfuscation
- Satellite assembly renaming
- JSON obfuscation reports
- Unlimited developers
- Priority support
Need full source code access?
We offer a one-time source code license for organizations that require complete audit capability, custom modifications, or integration into proprietary build pipelines — the kind of control that defense contractors, financial institutions, and government agencies demand from their security toolchain.
Feature matrix
| Feature | Community | Professional | Enterprise |
|---|---|---|---|
| Symbol renaming | ✓ | ✓ | ✓ |
| Alpha naming | ✓ | ✓ | ✓ |
| Unicode naming | — | ✓ | ✓ |
| String encryption | — | ✓ | ✓ |
| Constants encryption | — | ✓ | ✓ |
| Resource encryption | — | ✓ | ✓ |
| Control flow obfuscation | — | ✓ | ✓ |
| Reference proxy | — | ✓ | ✓ |
--all flag | — | ✓ | ✓ |
| Anti-disassembly | — | ✓ | ✓ |
| Reflection blocking | — | ✓ | ✓ |
Multi-assembly (--app) | — | — | ✓ |
| Incremental obfuscation | — | — | ✓ |
| Satellite assemblies | — | — | ✓ |
| JSON reports | — | — | ✓ |
| NuGet + MSBuild | ✓ | ✓ | ✓ |
| Cross-platform CLI | ✓ | ✓ | ✓ |
| Price | Free | $799 once | $1,499/yr |
| Licensing | Unlimited | Per-company, perpetual | Per-company, annual |
| Updates | Always | 1 year included | Always (while subscribed) |
Built on day one. Rebuilt for today.
Start protecting your .NET code today
Install from NuGet. Enable with one MSBuild property. No installer. No signup.