Invalid Metadata
Protection ID: invalid_metadata
This protection adds invalid metadata to the modules to prevent the decompiler from rebuilding them.
This protection is available in the editions:
Developer Startup Enterprise
Parameters
This protection has no parameters or settings.
Rules configuration
shield.config.json
{
"protections": {
"invalid_metadata": {}
}
}
Modes
- Default: Add invalid metadata to prevent the code from being decompiled.
Compatibility
Framework | Compatibility | Comments |
---|---|---|
.NET Core | ✔ | Not recommended if reflection is used or your application is an externally loaded plugin. |
.NET Framework | ✔ | Not recommended if reflection is used or your application is an externally loaded plugin. |
.NET (up to 8 version) | ✔ | Not recommended if reflection is used or your application is an externally loaded plugin. |
.NET Standard | ✔ | Not recommended if reflection is used or your application is an externally loaded plugin. |
Xamarin IOS | ❌ | It is pre-checked, but is automatically disabled in most cases. |
Xamarin Android | ❌ | It is pre-checked, but is automatically disabled in most cases. |
Xamarin MacOs | ❌ | It is pre-checked, but is automatically disabled in most cases. |
WPF | ✔ | |
Blazor | ✔ | |
.NET Maui | ✔ | |
Unity | ✔ | Not recommended if reflection is used or your application is an externally loaded plugin. |
ASP | ✔ | |
Silverlight | ✔ | |
VBa (Visual Basic) or C# (CSharp) | ✔ | Not recommended if reflection is used or your application is an externally loaded plugin. |
WinRT | ✔ |
Shield is compatible with all versions of .NET, it doesn't matter if you use .NET 2.0, .NET 4.7, .NET Core 2.1 or Xamarin.Forms 5.0, it will adapt automatically according to needs, you don't have to worry about this.