Welcome to the Jumble!
Jumble is a free minimalistic obfuscator for CIL (.NET) assemblies which relies on identifier renaming and does not modify the assembly code in any other way. This means no performance degradation, unexpected behavior or debugging issues of the obfuscated code.
The project is still in early stage of development - the configuration, command line interface and output may be subject to change.
See also: Configuration file syntax.
- Automatic dependency loading (including framework assemblies)
- Configurable name generators
- ✔ Classes, ✔ structs, ✔ interfaces
- ✔ Enumerations
- ✔ Delegates
- ✔ Methods, ✔ Properties, ✔ Fields, ✔ Events
- ✔ Parameters
- Support for multiple entry points
- Exclusion rules
- ✔ Overrides of untouchable members (e.g. .NET framework members)
- ✔ Public members (unless explicitly allowed)
- ✔ User-supplied whitelist
- Partial code analysis
- ✔ Enums converted to string will not be renamed
[Obfuscation]attribute support with following extras:
[Obfuscation]excludes type name and all public members by default
[Obfuscation(Feature = "applyToChildren")]applies rules to all children
[Obfuscation(Feature = "applyToPrivate")]applies rules to all private and public members
[Obfuscation(ApplyToMembers = false)]excludes only type name (renamed public members and nested types)
- Multiple features can be used, separated by semicolon
Out of scope
(Will NOT be implemented in near future)
- Method body obfuscation
- Assembly merging
Jumble is written in F#, licensed under MIT license and free for both commercial and non-commercial use.
Requirements: .NET 5
dotnet tool restore dotnet fake build -t all