Control Flow

This protection modifies the flow of methods so that it cannot be interpreted.

This protection is available in the editions:

Startup Enterprise Admits © Smart Native Protection System

The methods will perform the functions and interpret the instructions exactly as they are in the original code, this protection divides the method into blocks so that the order of execution of each of the instructions cannot be deduced, in short it converts the code as if it were 'spaghetti'.


Parameters

  • Intensity: This parameter is an integer value of 0 to 100, indicates the size of each block of code divided.
  • Depth: This parameter defines the depth of the generated expression if the selected mode is expression or advanced.
  • Invalid code:This parameter is a Boolean value that indicates whether invalid code will be inserted.
  • Type of operations: This parameter indicates which operations must be generated to control the flow of the code.
  • Advanced: Generates advanced operations that directly affect the flow of code.
  • © Smart native protection system: It generates advanced operations with native methods that directly affect the flow of code. Enterprise

With this parameter the difficulty to solve the original flow increases considerably.


Modes

  • Normal: Protect the constants with the checksum of the method and its name.
  • Expression: Encode the variable using dynamically generated expressions.
  • Advanced: Encode the variable using dynamically generated native x86 expressions and hiding native calls with dynamic operations to avoid decoding.

This mode is the most advanced available for flow control protection, for that reason we recommend its use.


Exclusions

  • Exclude with attribute

Include this attribute in your source code:

[Obfuscation(Exclude = true, Feature = "ctrlflow")]
  • Exclude from the interface

You can exclude this protection from the methods or classes you want.


Compatibility

Previous
Constant Encryption