Mike Dailly has been “having fun playing with obfuscators” in response to the recent release of a GameMaker 8.1 Decompiler.
Games created in GameMaker that are run through an obfuscator will have their source code jumbled up so that if an executable version of the game is decompiled it will not be in a human readable format. Schreib‘s Game Maker Obfuscator has existed for three years now but remains incompatible with Game Maker 8 and beyond.
Writing on Twitter Mike said that “we’ll change the encryption soon” but added that a proper fix would not come about until the release of GameMaker Studio.
“Unfortunately, we can’t “stop” decompilers with the current code base; we can only delay it. However, GM Studio will stop it forever. Because Studio is almost a rewrite, we can prune out enough that you can’t actually rebuild it. The Delphi runner is the issue.”
Fellow GameMaker developer Russell Kay then added “in Studio (and our C++ Runner) we will have compiled code (even the interpreted GML) so [there is] no source code to decompile. We will be using LLVM to compile directly to machine code to get a huge speed boost.”
Progress on an obfuscating as an intermediary solution to protecting GameMaker source code appears to be going well.
Mike writes that he is “not sure how we’re going to bundle all this yet” but has clearly had some success including a reduction in file size. “Having our own [obfuscator] means we can take advantage of local knowledge of the code we’re able to cheat a little more because we know the code. Our obfuscator has shrunk the code buy more than 2 thirds! It also removes unused functions!”