Galaxy Obfuscator is a simple program that can obfuscate your script, making it unreadable by humans. I does not change how the script works.
Galaxy Obfuscator will:
- Remove all comments and unnecessary whitespaces
- Replace all identifiers (variable names, functions) with random sequences of l (lowercase L) and I (uppercase i)
- Obfuscates all integers and strings
Galaxy Obfuscator has GUI and works in a fully automated fashion. After selecting a map you want to obfuscate, it will create in the same directory a file named <YourMapName>Obfuscated.SC2Map. You can also run it from the command prompt, with your map name as the argument.
The program will change only the "MapScript.galaxy" and "Triggers" files in the map. It will not obfuscate any libraries nor dependencies you may be using.
Note that an obfuscated map file will crash the editor if you try to open the triggers in it.
There is an example of Galaxy Obfuscator in action (it is the obfuscated Hello World script):
include "TriggerLibs/NativeLib" void lIIIIIIIlIlIIlII(){libNtve_InitLib();}trigger IIIIIIllIIlIlIIl;bool IIIIlIIIlllIllII(bool lIIIIIIllIlIIIll,bool lllIllIIllllllIl){if(!lllIllIIllllllIl){return true;}TriggerDebugOutput(01,StringExternal("\x50\x61\x72\x61\x6d\x2f\x56\x61\x6c\x75\x65\x2f\x39\x42\x36\x30\x39\x30\x31\x44"),true);return true;}void lllllIIIIlIlIlll(){IIIIIIllIIlIlIIl=TriggerCreate("\x49\x49\x49\x49\x6c\x49\x49\x49\x6c\x6c\x6c\x49\x6c\x6c\x49\x49");TriggerAddEventMapInit(IIIIIIllIIlIlIIl);}void IIlIIllIllIIlllI(){lllllIIIIlIlIlll();}void InitMap(){lIIIIIIIlIlIIlII();IIlIIllIllIIlllI();}