Introduction
Using the GUI
Understanding Obfuscation
Understanding Checks
Understanding Instrumentation
Attributes
Advanced Topics
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 sending incident telemetry, notifying the application, and hindering the attacker. In other words, a Tamper Check detects and reacts to unauthorized tampering of your application.
To have Dotfuscator inject Tamper Checks into your application, first enable code injection.
Then, configure the Checks via the user interface 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 a full listing, see the TamperCheckAttribute section of the Check Attributes page.
Dotfuscator can inject Tamper Checks into all .NET assemblies except for the following:
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.
To test how your protected application reacts to tampering:
Open the Dotfuscator Command Prompt.
If not already there, change to the directory of the protected assembly. For instance:
cd C:\YourApp\Dotfuscated
Type TamperTester.exe AssemblyName.exe, where AssemblyName.exe is the name of the assembly for which you want to create a tampered version.
tampered.The utility creates a tampered version of the assembly.
Copy other output assemblies to the directory of the tampered version. For instance:
xcopy *.* tampered /d
Run the tampered assembly and exercise the locations of your Tamper Checks to observe how the application reacts to being tampered.
Dotfuscator Version 5.32.0.6134. Copyright © 2017 PreEmptive Solutions, LLC