Hinder Reflection Enterprise
Reflection-based reverse-engineering tools and the .NET SDK’s ildasm disassembler are the first tools attackers reach for. Demeanor makes both less effective: ildasm refuses to open the obfuscated assembly, and other reflection-based tools see metadata that makes their analysis less reliable. The CLR runtime is unaffected.
Usage
| CLI | MSBuild | Default |
|---|---|---|
| (enabled by default at Enterprise) | (enabled by default) | On |
--no-hinder-reflection | <DemeanorNoHinderReflection>true</DemeanorNoHinderReflection> | Disable |
Before & After
BEFORE
$ ildasm MyApp.dll
// Opens normally — full IL visibleAFTER OBFUSCATION
$ ildasm MyApp.dll
Protected module -- cannot disassembleWhen to Disable
- Hot reload during development — this option can interfere with the .NET hot-reload mechanism. Keep it on Release builds only (the default MSBuild configuration).
- Plugin systems that enumerate types — if your host application uses
Assembly.GetTypes()on obfuscated plugins, test that this doesn’t cause aReflectionTypeLoadException.
Ready to protect your .NET code?