Control Flow User Interface
Control Flow — Options
The Control Flow Options page allows you to enable and configure Control Flow Obfuscation features. See Control Flow Obfuscation for more information about these features.
You can enable or disable Control Flow Obfuscation altogether with the Control Flow checkbox. If Control Flow Obfuscation is enabled, you can also enable or disable Block Jumbling, Try/Catch, and Block Splitting by using the corresponding checkboxes.
There are also some more specific options:
- The Dalvik Compatibility checkbox determines if Block Splitting should be scaled down to support the Dalvik VM (used on KitKat (v4.4) and older Android devices).
- The Max Number slider next to the Try/Catch checkbox controls the maximum number of Try/Catch handlers that can be added to a single method.
- The Target Block Size box next to the Block Splitting checkbox controls the minimum number of instructions to be included in a block created by block splitting.
Note: You can also enable Dalvik Compatibility by setting the
ANDROID_DALVIK_COMPATIBILITY
property totrue
on the User Properties page.
Control Flow — Include and Exclude
The Control Flow Include and Exclude pages let you compose rules that determine which parts of the application will have Control Flow Obfuscation applied to methods. Methods, classes, or entire packages may be selected. Items should be excluded if you are concerned about possible performance issues.
See Graphical Rules Editor for details.