Skip to content

Anti Tamper Protection

Martin Karing edited this page Feb 11, 2021 · 4 revisions

ID: anti tamper
Preset: Maximum
Availability: ConfuserEx ConfuserEx 2

This protection ensures the integrity of application.

This protection encrypts the methods with the checksum of the whole module, to ensure that the module will load only if no modification has been made to it.

The side effect of this protection is that any decompilers will only show empty method bodies when disassembling the assembly.

Parameters

  • mode: This parameter define the way ConfuserEx decrypts the methods. Supported values are:

    • normal: ConfuserEx would validate the checksum and decrypt the methods at the start of application. (default)
    • jit: ConfuserEx would validate the checksum at the start of application, and decrypt the methods right before each method is being compiled using JIT hooks.
      (Incompatibile with Mono, and potentially future version of .NET Framework. Use with care.)
  • key: This parameter define the way ConfuserEx derives the decryption key. Supported values are:

    • normal: ConfuserEx would use static algorithms with random parameters to derive the decryption key. (default)
    • dynamic: ConfuserEx would use dynamically generated algorithms to derive the decryption key.

Example

<protection id="anti tamper">
  <argument name="mode" value="normal" />
  <argument name="key" value="dynamic" />
</protection>

Remarks

This protection produces unverifiable modules.

This protection is incompatible with OS other than Windows due to usage of WinAPI.