Monday, October 24, 2011

Knocking out the Assets Protector

I recently came across another commercial intellectual property protection tool for the Flash platform. I realize it has been a while since I reviewed one of these tools, so it's time to see how much the field has evolved, if at all.

The AssetProtector is designed to protect your external assets, like images, music, and XML files, by encryption. Your Flash application will need to use a special loader, an extension of the Loader Class, to load and decrypt the protected assets at runtime. This tool may be useful for game developers, who wish to prevent others from stealing their graphics or modifying the game files.

The AssetProtector contains three separate entities - 1) the Protector Machine, an offline encryption tool that works on your external assets; 2) the Asset Loader, a dummy SWC library that allows you to interact with the special loader via actionscript; and 3) the Protector Agent, an SWF file that you will need to deploy along with your main SWF and encrypted assets. It is obvious that the Protector Agent is the heart of this intellectual property protection scheme as it contains that actual implementation of the special loader class. The main task, therefore, is to understand how the Protector Agent works.