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.
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:
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.
;$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:
In this case they will be replaced by the actual obfuscated names to avoid any mistakes.
Also as an exeption any
;$OBFUSCATOR: $STOP_OBFAnd 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.