User Manual for Free Autohotkey Script Obfuscator


The Obfuscation Process for Autohotkey Scripts
Prepare Your Source Code
Straight Obfuscation Steps
Dynamic Obfuscation Steps
Run the Create Translations Map Function
Run the Obfuscate Function


Command Comments Rule

Obfuscation Mode Commands

End autoexecute Rule

Dynamic mandatory dumps comment commands

Include Files Rule
Move Your '#include <file>' Statements to the Beginning or End of Your Script Files
Prepare an Include Files Map

Functions and Labels rule
Prepare Function Sections
Function names used without "()"
Prepare Label Sections
Nested Label Headers Inside Other Label Sections and Functions
Special Rule For Labels Referred to in the GUI +LabelPrefix Statement

Gui Controls and labels rule
Gosub Labels in Gui Controls that Start with a 'G'
Global Variables in GUI Controls that Start with a 'V'
The GUI +LabelPrefix Clause


Obfuscation of function & label names, and parameters is automatic

Obfuscating all your variables, objects, properties, methods, ...
Use the DEFGLOBVARS to obfuscate all your variables and objects
Use optionally DEFLOSVARS to obfuscate individually your local/static variables
Use the DEFGLOBPARTIALVARS to obfuscate all your frequent partial vars
Use the DEFSYSPROPERTIES to obfuscate your properties
Use the DEFSYSMETHODS to obfuscate your methods
IF YOU WANT You can declare local vars separately in each function with DEFLOSVARS

Obfuscating System Functions Like SubStr() or System Variables like A_Index
$DEFSYSFUNCS Command to obfuscate built-in function calls
$DEFSYSVARS Command to obfuscate built-in variables in expressions

Use 'hidestr()' to Hide Sensitive Literal Strings in Your Script
Place Dummy 'hidestr()' Functions in Your Source Autohotkey Script
The Obfuscator Function Used to Encode Your Sensitive Literal Strings
Put the Function to Decode the Obfuscated Strings in Your Autohotkey Script
Create Your Own Versions of These Functions for Greater Security
Increase Security Even More By Using the Use the 'Rewire Function' Feature of the Obfuscator

Obfuscate more, obfuscate all !
Convert built-in variables to custom variables
Convert recurring Strings to variables
Convert numbers to variables
Convert math operators into functions
Convert commands into functions

Remove Whitespaces and Comments except specific blocks
Remove all comments and whitespaces
Specify some comment blocks to be preserved

Scrambling the Order of Your Whole code
Let the program scramble the order itself and keep some parts together
Create a Custom Layered Scrambled Sandwich


Add Sections of Code to an Obfuscation Class
Create a Secured Obfuscation Class

BREAK / REWIRE Sensitive functions
DUMP to 'Rewire' Where Functions Go To


Known Issues with this Program
Words in GUI Text/MsgBox in Script Are Being Replaced by Obfuscations
Using Single Letter Object Names Can Cause Invalid Obfuscator Replacements
The Obfuscator Creates an Object Name That is Too Big
A Label Name Oddity Caused by GUI Statement Syntax
A Global Variable Name Oddity Caused by GUI Statement Syntax

Known limitations


Understanding the Standard Parameter Set That is Used in Many Command Comments

Changing Your Obfuscation Encoding Defaults

Dump Commands

List of All Obfuscator Command Comments for Autohotkey Scripts