A Tamper Check is a type of Check that detects if the application has changed since it was processed by Dotfuscator.
For example, if an attacker modifies the application binaries to circumvent restrictions or remove licensing information, a Tamper Check can detect the modification and react by notifying the application and hindering the attacker. In other words, a Tamper Check detects and reacts to unauthorized tampering of your application.
Configuring Tamper Checks
To have Dotfuscator inject Tamper Checks into your application:
- Configure the Checks on the configuration file or by annotating your source code with TamperCheckAttribute.
Both of these methods allow you to specify various properties that determine how the Check operates.
For more information, see the TamperCheckAttribute section of the Check Attributes page.
Unsupported Application Types
Dotfuscator can inject Tamper Checks into all .NET assemblies except for the following:
- Assemblies that target .NET 1.0
- Managed C++ assemblies containing native and managed code
- Multi-module assemblies
- .NET Compact Framework assemblies
- Xamarin assemblies
- UWP assemblies
- .NET Core assemblies
- .NET 5+ assemblies
Testing
To test how the Tamper Checks injected into your application react to assembly tampering, Dotfuscator includes TamperTester.exe, a command line utility to simulate tampering by modifying the assembly's metadata. You can read more about this offering in our Dotfuscator Professional version.