Obfuscation is a process of transforming AutoIt source code into protected version of itself. The script functionality stays the same, everything works the same, but the source code is protected from analysis, all of the variables are encrypted, strings are encrypted.

* AutoIt Obfuscator v1.1 main window
* Support added for the new obfuscation strategy
* PHP SDK updated
* fixed activation code passing in command line version (it's /ActivationCode and it was wrongly described as /ActivationKey)

As you can see, there are more than 1 obfuscation technique used (in full version, since demo version is limited in options). There are even some things used like anti-regular expressions to prevent automated deobfuscation.

this doesn't prevent someone decompilation of your AutoIt project and grabbing the source code it will just make nonlinear code execution flow which is hard to understand ....

The point isn't to stop decompilation, it's to prevent analysis and reversing. As PELock explains, the storage of the script with all contained information when building it as a standalone .exe is AutoIT's biggest flaw. While you can't stop someone from getting the source code, you can make it much harder to understand, such that they can't easily take credit for your program.

AutoIT is not meant to be used for security. It's meant to be an easy high-level scripting language for automating menial / simple tasks. That doesn't mean you *can't* make bigger applications with it, but you will stumble across many issues as your program grows.

I have customers from big banks, TV stations, game developers to regular users using their scripts to automate work while at the same time they want to prevent someone else from stealing their source code, especially if they sell their software (which often is the case, for example game bots).