A .NET assembly protector and obfuscator. It rebuilds your compiled program into a hardened version that is hard to read, decompile, or crack — while it runs exactly like the original.
MasonProtector takes a compiled .NET file (.exe or .dll) and rebuilds it into a protected version: names are scrambled, strings and numbers are encrypted, method bodies are turned into virtual‑machine bytecode, and a runtime layer watches for debuggers, virtual machines, and memory dumpers. The protected program behaves exactly like the original.
- Renaming — every class, method, and field name becomes a meaningless symbol.
- Encryption — strings, numbers, fields, arrays, and whole method bodies are encrypted and rebuilt only at runtime.
- Obfuscation — control‑flow flattening, a custom virtual machine, method scattering, opaque predicates.
- Anti‑analysis — detects debuggers, virtual machines, dumpers, and API hooks by their behaviour, so renaming a tool does not bypass it.
- Stealth — hides the assembly's shape from decompilers and metadata readers.
- Licensing — a built‑in key system that ties each licence key to the customer's machine.
- Extras — merge dependencies into one file, export the logic to a side DLL, compress resources.
Measured on a small sample program at the Max preset:
| Original | Protected | |
|---|---|---|
| Types | 8 | 715 |
| Methods | 23 | 4,601 |
| Readable strings | 54 | 0 (all encrypted) |
| Names | LicenseChecker, Validate |
random symbols |
| Behaviour | runs | runs identically |
// Before — your original code, fully readable in any decompiler
class LicenseChecker {
const string Key = "PREMIUM-2024";
public bool IsValid(string input) => input == Key;
}
// After — decompiled from the protected build
class q8XzP {
// "PREMIUM-2024" -> encrypted, rebuilt only at runtime
// method body -> virtual-machine bytecode / flattened control flow
// unreadable, practically un-decompilable
}Interface — open MasonProtector.exe, pick your file, choose a preset (or tick the options you want), and press Protect.
Command line:
MasonProtector.exe --protect MyApp.exe MyApp_protected.exe --preset max
Presets: none, default, hide, max, all.
For protecting your own software. You are responsible for how you use it and for following the laws that apply to you.
Full technical manual: docs/MasonBook.pdf
MasonGroup · 2026 · MIT License