This function tells the kernel that the license data has been tampered with.


VOID ExSetLicenseTamperState (ULONG State);


The State argument provides the new tamper state.


This function cannot be used to clear the tamper state. If State is zero, the function returns trivially.

If the tamper state is currently zero, then the given State is adopted as the new tamper state.

Since the license data has been tampered with, the function clears the kernel’s cache of the now-invalid license values. If the tamper state is now 4, the function writes empty license data to the ProductPolicy value in the ProductOptions key.

If the kernel did have license data and is not in Setup mode, the function notifies the \Callback\LicensingData object.


The ExSetLicenseTamperState function is exported by name from the kernel in version 6.0 and higher.

The only known use by Microsoft is in SPSYS.SYS.