Game Wrapper
Following on from the previous post about protecting your code with obfuscation, an obvious statement would be that the best way to protect your work is to ensure that no-one gets a copy of it! However once you put your work online, anyone with a cable or broadband connection could download it and make copies of it. Is the only option then to stop making your work available for download? Of course such drastic measures would prevent anyone from seeing your work at all and make developing a product totally pointless, but what if there was a compromise between the two? What if there could be a difference between what you gave people and what they actually saw on-screen when they ran that file?
Having a “key” file (which I’ll refer to as the Key) to access a “resource” file (which I’ll refer to as the Resource) centrally also means only ever having one location for that Resource, and so if you were to spot a bug in your Resource or if you wanted to add a feature, you’d only have to replace a single file for that change to permeate instantly throughout the internet.
Since your Resource would only ever be run centrally, this also opens the door for tracking. You’d be able to see who was accessing your resource and how often. If the Key was to provide information on where it was being run from you’d also be able to control the locations that had access to that Resource, and in effect you’d be making an “intelligent” Key that only worked for certain people.
All of this serves as the foundation for a piece of software that I have developed and called the Game Wrapper. Although called the Game Wrapper because I wanted to use it to serve my games to different websites, the same technology would actually work with any type of resource – games, animations, elearning etc.
I use Game Wrapper to serve games to various online gaming websites, so I know that every site has the same version of the game and if I ever want to add or change something in any of my games, I make that change once and upload the new file to my server and that new version instantly becomes the version that everyone is playing.
Game Wrapper also allows me to specify whether games are allowed to be played locally on a user’s machine or online only. If online only, I can also specify which websites are allowed to play it and this ensures that no-one steals the game to use it without my permission. If the game is ever run from a site that hasn’t been added to the Allowed list, I get an email that tells me which game has been run illegally and from which website.
I can also serve adverts before the game starts to load or I can serve the game right away – whatever’s best for any particular game.
Developers will know that when a Flash file downloads another Flash file, the downloaded file is stored in “Temporary Internet Files” so the scenario with which I opened the post about ensuring that users don’t ever get access to the Resource isn’t strictly true, but despite physically being on that user’s machine the file will only run if it’s run from the host website, only if it’s run from a Key, and only if the user is on the Allowed list.
Both the Keys and the Resources are also run through SWF Encrypt for an added layer of security.










Recent Comments