Flash Piracy

June 12, 2007

One of the problems of delivering copy protected content via Flash is that it is a semi-open platform and has no built-in copy protection mechanism. Flash game files (or SWFs) are just like any other file that can be copied from machine to machine. In fact when you play a flash game your PC has already downloaded the SWF file to your hard drive and is running it from there. Copying the SWF file back onto a different web server and adding it to another website is straight forward. 99% of the websites that have Desktop TD simply took a copy of the SWF file and rehosted it on their own site without asking permission. It’s technically theft but is tolerated in the flash community as a form of advertising for the developer, especially if the developer wants to promote their flash portal website. This process has worked very well for DTD due to the fact that the game redirect players back to my site when the game ends and they then tend to stay there. Most games are a little more polite and do not redirect, so maybe they are missing a trick there!

There are various things that can be done in code to lock the compiled game (or SWF) to your own domain but it is relatively straight forward to use a decompiler to turn your compiled game back into source code and the unscrupulous can simply remove any locking code and recompile. However software that encrypts the SWF file can be effective at stopping decompilers. DTD used such protection from version 1.21 onwards but the lack of protection for the earlier versions has turned out to be a problem as I will discuss below. Another problem is ‘hotlinking’ where a site is linking directly to the SWF file on your own server thereby using your bandwidth instead of theirs. Serving the SWF file dynamically and authorizing it via keys and the like is a good response to hotlinking. The multiplayer version of DTD will be domain locked and will use such a technology to ensure that it remains there!

Unfortunately both Desktop TD and Dave’s Element TD have been victim of a more serious type of flash piracy, reskinning. Reskinning is where the game is decompiled and the graphics and/or sound replaced with different versions. The game is then distributed as someone else’s work. A real slap in the face to the original developer I can tell you. Element TD was stolen by shockarcade.com (compare with the original Element TD). And in the last week Desktop TD has been stolen by onlinegamesquad.com (compare with original Desktop TD). Admittedly they have put some effort into the DTD reskin but it doesn’t have a single feature in it that wasn’t already in the code they pinched from DTD. If anyone knows a good way to deal with this type of piracy please get in touch!

Piracy and hacking prevention are now taking up a significant portion of my development time at the moment and I am learning as I go. It would be easy to blame Flash for these problems but they are really caused by success and human nature. I bet even Valve’s Steam protection gets hacked occasionally!