Flash Plagiarism and the Current Climate

By sgrosvenor
We teamed up with SiteGround
To bring you the latest from the web and tried-and-true hosting, recommended for designers and developers. SitePoint Readers Get Up To 65% OFF Now

If you’ve slaved away over a hot keyboard creating the latest and greatest Flash application, only see it or derivatives of it surfacing all over the web, then you have been hit by someone using an SWF decompiler who has decompiled you SWF file and repurposed the content for their own needs; be it ActionScript, Sounds, Images or Structure.

To say its annoying is an understatement when it’s a personal SWF file, but what about when the content is for a commercial enterprise? The ramifications here could be far reaching and demand separation of content and business logic from design elements if the SWFs are to be presented to a public audience via the internet. So what can you do against this type of plagiarism to protect your files?

There are several options available as follows (not a definitive list):

– Use Server Side ActionScript (SSAS)

Exactly the same concept as Flash MX / MX 2004 ActionScript apart from the fact the ActionScript resides on the server and is referenced via several different methods; this can become expensive as you will need access to an installation of Flash Communication Server.

– Use SWC files in Flash MX 2004

Create compiled code in the form of .SWC files which will allow further protection of SWF source information.

– Use Code Obfuscation

There are several tools that you could use in addition to Flash MX to obfuscate your SWF files that would make the SWF decompilers unable to reverse engineer them easily, but this has inherent problems. As soon as a new version of the obfuscating application is released, this is usually countered by an updated release of the decompiling application, so you end up constantly chasing your tail.

I’ve been unable to find any decent obfuscating software to stop decompiling basic Flash MX 2004 SWF files, but here’s a command line obfuscator that may be one to watch in the future when it’s finally released in it’s final format hopefully for ‘2004.

ActionScript Obfuscator Pro

Flash plagiarism is serious and annoying when you are on the receiving end of it, but there are many advocates of the open source Flash format specification who would argue otherwise.

Certainly, when you wish to view client side code within web pages everyone has at some point used ‘View > Source’ to see how something is done, but I disagree with plagiarizing others work on any level.

I’ll be updating this thread as i recieve more information or there are more Flash community updates on SWF protection.

We teamed up with SiteGround
To bring you the latest from the web and tried-and-true hosting, recommended for designers and developers. SitePoint Readers Get Up To 65% OFF Now
  • Ken

    For most intents and purposes, isn’t it possible to copyright both the look and code of your site? My company’s site was recently ripped by another design agency in another country. You could tell the decompiler wasn’t used as the scripting was amateur and seemed to have been done by hand. However, the site looked very similar with many elements blatantly copied. We have a copyright notice on the bottom of our site. As such, we immediately emailed the infringing company and told them that we would be taking legal action unless they took the rip down. They admitted to ripping our site, appologised and removed the site straight away.

  • sgrosvenor

    The problem here is obviously primarily for Flash developers and the resultant SWFs. It all depends on how unscrupulous the plagiarizer(s) are, whilst it’s easy to spot a blatant site rip and inform them accordingly, if someone steals a whole bunch of functions and graphical / non-graphical entities and secretes them into their own designs so as not to be a blatant rip, it can be difficult to track.

  • Ken

    Yes, I agree. It can be difficult to impossible to track if people are ripping your code. Again though, I wouldn’t worry. As someone said recently on Ultrashock, people who rip code from SWF’s are like people who cheat in school. They may get away with it for a few weeks or a few months, but life has a way of catching up with these people. E.G- they will be uncovered for the talentless hacks that they are sooner or later. As a Flash Developer, I’m not particularly concerned about this “phenomonon”

  • This one really heats up on some of the other Flash blogs. I get really sick of the “it’s only meant for good intentions” argument and the “you’ll change your mind once it happens to you” warnings. The rip-offs that occur thanks to decompilers do way more damage than the lost file here and there that somebody doesn’t have backed up, in my opinion. People say “well, that’s how we learn Flash.” That’s lame. There are hundreds of tutorials and books out there for those that really want to learn. Decompilers are for those that want to rip.

  • Hmmm, sorry, but I really have to disagree with that (“Decompilers are for those that want to rip”). The major part of my employment is creating utilities and code for swf creation. I use ASV (ActionScriptViewer) practically every day, it is a brilliant product. When testing/debugging code, it is critical to be able to analyse the generated swf files. ASV enables me to diagnose problems far more rapidly than just the hex editor would. Anyway there’s a couple of cents worth, I just wanted to point out that they aren’t pure evil.

  • Ken

    Yes, but the point is “Who cares?” People who are so lame and useless that they need to rip whole sites are not the passionate leaders of our industry. Most of them are bedroom Web designers who charge less than a grand for a site. They’re not competition. They’re just talentless lamers who’ll keep earning a measly crust or eventually move into another industry and give it a bad name!

  • John

    If flash was the same as maths there would only be one answer, how ever it is not therefore different people solve the same problem differently and this is why I tend to decomply swf files. Having said that, should I ever use a function or sequence I would include a credit to the originator. I do not work in design and don’t have a flash site up as yet.

  • Kiko

    I started my web design firm back in 1996. I followed all the evolutions of the web and I must say that everything I learnt was from reading other people’s code. I also frequently use a flash decompiler to study code techniques. It is for me an invaluable help. It it saves me time and money and keeps me always in touch with latest coding tricks.
    I do not see anything bad in it.
    It is usually people with limited talent that tend to use obfuscators and similar tools. After they learn one or two things from others they’re eager to protect their knowledge. But the web is in continuous evolution. You will always need new things to know.
    That’s why you came to this site anyway. To learn from other people’s code.

  • Tim Hon

    YEs, this is a big concern, i used genables obfuscator, but the alpha was no match for my multi-swf project. it has to be able to track variables across all the swf’s involved in the project, otherwise they can talk to eachother. EVEN IF ASV is able to decompile an obfuscated code, its almost useless because all the variables would be changed to incomprehensible number patterns, the functions would still work, but it would take a while for someone to figure out exactly what it did.

    Does anyone know if .SWC can be decompiled? it must be, becuase obviously the Flash Plug-in built into IE must be able to read it, so ASV should be able to get into those as well.

  • RedHotRuss

    After getting very excited about SWCs as a potential solution to this problem, I created one. Then I realised they can be opened in winzip. And then, you can open the SWF from there.

    Back to square one. I only wished I had researched this more before setting off on a very large Flash project.

  • Tim Scollick

    “View Source”.

    What’s the difference? Flash, like javascript, is a client side scripting language. Caveat emptor.

    Go ahead and rip off my code. By the time that you have it figured out, I’ll have a cooler site out.

  • Fast-Eddie

    I agree, rip my code freely – steal everything.
    Anyone who thinks that they have an original thought just cannot remember where they stole it from. Life is too short. If you can resell a small portion of my work – go for it because i have relationships with my clients – a relationship that extends beyond code. Learn to use every tool at your disposal – and then design and develop a solution. Dont’ sell me a used solution – sell me a fresh approach.

  • Oh-Brother

    Fast-Eddie, I heard you make a pretty mean lasagna. I think I’ll break into your house and steal your recipe. I know it’s not really your original recipe anyway. No, I’m not planning on making a profit from it, I just believe recipes should be open source and I just hate going through the trouble of asking.