Obfuscation Mode Commands

Dynamic mode is assumed

Dynamic Obfuscator assumes Dynamic Obfuscation mode as it is the ultimate goal and most recommended method.
To ease the process the Obfuscator automatically switch itself to straight obfuscation when a function is not global.
However, as Straight Obfuscation might be easier to debug, there is the possibility of manually switching back and forth between Straight Obfuscation and Dynamic Obfuscation.
Also to make debug again simpler and to allow keeping some code blocks intact, it is possible to tell the Obfuscator to stop obfuscating some blocks.

Manual switch between Straight mode and Dynamic Mode

Use this command to START/RESUME Straight Obfuscation:
;$OBFUSCATOR: $STRAIGHT_MODE:
And use this command to START/RESUME Dynamic Obfuscation:
;$OBFUSCATOR: $DYNAMIC_MODE:
As stated above Dynamic Obfuscation is assumed, thus before any STRAIGHT_MODE comment, dynamic obfuscation will be applied.
Non-global function will always use Straight Obfuscation automatically as they do not support Dynamic Obfuscation.
They will have to be converted to global function in order for Dynamic Obfuscation to be effective.

You can STOP/RESUME Obfuscation for sections of code

Use this command to STOP obfuscation:
;$OBFUSCATOR: $STOP_OBF
And use this command to RESUME obfuscation:
;$OBFUSCATOR: $RESUME_OBF:
No obfuscation will be done at all EXCEPT if any previous label or function are detected.
In this case they will be replaced by the actual obfuscated names to avoid any mistakes.
Also as an exeption any ihidestr() call is replaced to still allow for hidden strings.

You can STOP/RESUME new Obfuscation of some types

Use these commands to STOP taking into account new objects of a specific type for obfuscation:
;$OBFUSCATOR: $FUNCS_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $PARAMS_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $LABELS_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $GLOBVARS_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $LOSVARS_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $SYSVARS_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $SYSPROPERTIES_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $SYSMETHODS_CHANGE_DEFAULTS:-1
;$OBFUSCATOR: $SYSFUNCS_CHANGE_DEFAULTS:-1
And use this command to RESUME obfuscation: Use these commands to RESUME taking into account new objects of a specific type for obfuscation:
;$OBFUSCATOR: $FUNCS_RESTORE_DEFAULTS:
;$OBFUSCATOR: $PARAMS_RESTORE_DEFAULTS:
;$OBFUSCATOR: $LABELS_RESTORE_DEFAULTS:
;$OBFUSCATOR: $GLOBVARS_RESTORE_DEFAULTS:
;$OBFUSCATOR: $LOSVARS_RESTORE_DEFAULTS:
;$OBFUSCATOR: $SYSVARS_RESTORE_DEFAULTS:
;$OBFUSCATOR: $SYSPROPERTIES_RESTORE_DEFAULTS:
;$OBFUSCATOR: $SYSMETHODS_RESTORE_DEFAULTS:
;$OBFUSCATOR: $SYSFUNC_RESTORE_DEFAULTS:
To the difference of ;$OBFUSCATOR: $STOP_OBF, this does not stop previous objects from being obfuscated, but only new. Useful to deactivate obfuscation of a specific functions parameters/variables that can cause some issues.