Protect your work from ActionScript code theft with SWF Protector

« I’ve just found a site that won a top international online advertising award – and it’s been blatantly lifted from me!

Its a flash application that has the same vectors and almost certainly the same AS code. Is there anything I can do? I’m in the UK – they’re in Brazil. »

The guy who opened this thread looks quite desperate… now imagine this happening to your latest Flash game.

That’s why you must protect your code. You don’t want someone else stealing your work.

I am going to review DCOM Soft‘s SWF Protector.

SWF Protector

SWF Protector is an swf protector software working through actionscript encryption to secure your actionscript content. This means decompilers won’t be able to read your actionscript.

The most interesting SWF Protector features are:

* Inexpensive: only $59.95 for a Business License. You can earn twice in just one day with a single game.

* Simple and fast. You can encrypt your SWF with a couple of clicks.

* Cross-platform. Available for Windows, Mac and Linux.

* Mass protection. You can protect several SWFs at once.

This is the interface you’ll see when you are about to secure your flash content:

I am testing the software on the file created on Box2D Flash game creation tutorial – part 2 tutorial.

This is the original content of the custom_contact_listener.as file:

Now, I will use a Flash decompiler to extract the same file from an unprotected version of the swf… here it is:

The code is amost more polished… and obviously it works.

Now let’s try to do the same on the obfuscated swf made by SWF Protector… that’s what I got (sorry for the italian screenshot: I’m currently running an italian version of Windows7)

The decompiler crashed… probably the amount of weird characters inserted by the flash obfuscator made it crash.

In the end, SWF Protector is simple to use and very fast. It has shown lightning-fast speeds of SWF files loading, processing and saving and uses four reliable protection algorithms.

You can download a trial version on the official site or win one of three business licenses I am giving away being the first to reply “I want one” when this post will be published on my Facebook Fanpage. This is a special giveaway for three of my Facebook fans. And won’t be the only one.

  • AnotherGuest

    Kinda sounds like an ad more than a post :/

  • I prefer Amayeta SWF Encrypt

  • Welcome to the open web.

    Do you protect your HTML / JS? No.

    And face it that guy probably stole / learned his code from somewhere else to begin with.

  • Emanuele Feronato

    anotherguest, it’s a review… I am currently using it.

    No need to to ad-posts since the blog is full of ads :)

  • Good ,thanks!

  • Eko

    I tried Amayeta SWF Encrypt on a huge project but the changes in var and functions names may cause some bugs in your swf following your coding style. :/

  • I do bought it a few weeks ago and can say that it is pretty nice tool… From my point of view this is the best actionscript protection solution which can be found now.

    @Yarden Refaeli

    I think Amayet sucks… It is expensive and provides the same functionality as others protectors.

  • Darn… Missed it by one hour. That’s what you get for waking up late in the morning.

    I can definitely see myself buying this program one day either when my “student pay” starts lasting, or when I actually finish one of my 200 unfinished projects. ;)

    Just a few questions:
    * Does a “scrambled SWF” add to the filesize?”
    * Is there a performance difference between the “scrambled SWF” and the exact replica that is not, even slight?
    * Do you compile it with the program, or are you able to scramble an already compiled SWF?

    Finally, what decompiler did you use? (or recommend) Is there one included with SWF Protector? I have seen ads for several, but I tend to distrust just anything on the internet, even though they may say they are reliable…

    Once again, thanks for another helpful blog entry!
    Andreas

  • va

    Hi Emanuele, you should mention that all such techniques “probably the amount of weird characters inserted” and others are not guaranteed to be treated nicely by the future versions of the flash player. Don’t be surprised if your demo crashes with new release of the player.

  • Hi,

    I highly recommend ToKaos encryption solution:
    http://www.tokaos.com/

    We use this solution for our OnDemand project business RIA:
    http://www.deja-vue.net/blog/2010/02/19/cd-on-demand-on-demand-business-ria-made-in-palmer/

    It works very smoothly and provide more flexibilty as it encrypts raw source code.

    No other tool than ToKaos could achieve encryption for our complex architecture that heavily relies on runtime loading modules (built upon AS3/IoC Palmer Framework: http://code.google.com/p/palmer/)

    Cheers,
    Mike

  • Anup Sarode

    Looks better than SWF Encrypt. “I want one”

  • @Andreas Renberg
    Regarding the size, it depends of what obfuscation method you use. I will paste here part of manual from my SWF Protector. It protects swf files, It somehow decompiles AS part, protect it and compile it back.

    This is for “Simple mode”.


    1. If a file contains AS2 then “Mask script” and “Mix script” are applied.

    Mask script is an effective method of concealing the code. It doesn’t cause the increasing of the file size.

    Mix script is shaking the source code. The method is very effective, but it causes the increasing of the file size. That’s why SWF Protector let’s you choose the intensity of method applicability. In Simple Mode for files with AS2 Mix script is applied in 50 % mode by default.

    2. If a SWF file contains AS3 then “Protect” and “Obfuscate” methods are applied.

    Protect modifies AS in such a way that a SWF file may be played, but it is impossible to decompile it.

    Obfuscate renames variables, features etc. in a definite way. It doesn’t prevent from decompilation, but makes the subsequent compilation impossible.

    N.B. Check the manual. You will find there lots of interesting details and other info. Manual did help me a lot)))

    @Mike
    as I know tokaos does not work with swf files.
    + It works only with AS3

  • Regarding swf/flash decompilers.
    The most populars are Sothink and Trillix.

  • there is no way you can protect your action script. There is always a way to reverse engineer it.

  • Alf

    Thanks for the review. Have you seen the review of secureSWF at asgamer? I’m currently looking into which we whould purchase for our games where I work… Very curious about your thoughts on the subject. The review I was refering to: http://asgamer.com/2009/why-how-to-encrypt-your-flash-swf

  • Pingback: Chicago Wedding Orchestra » Blog Archive » Looking for Web Design Training In Detail()

  • Pingback: The Bodypiercing Studio – Inside Bodypiercing » Blog Archive » Choosing Web Design Training – Update()

  • Hi Emanuele,

    Did you try PNG encryption? Following link is my recent work and I’ve encrypted it with PNGenc. When you have time, download the swf and try to decompile it.
    http://activeden.net/item/as3textfx-text-animation-engine/full_screen_preview/91412

    It might have problems with big files but for a file smaller than 1MB, it works fine.

    I’ve found this PNG encryption method on flashkit about a year ago and since then I’m using it for all my files(which not many:). This way you can protect your graphics too.

    Best Regards,
    Kerem

    PS:You have a great blog. Salutare!!!

  • John Orange

    We currently use secureSWF Professional for all our online Flash projects. It is the only one that really works and is easy to use. We’ve tried all the other software (SWF Protector & SWF Encrypt) before and it didn’t do the job, these were easily defeated by decompilers. We weren’t able to decompile files processed by secureSWF.

    Thumbs up for secureSWF Pro!

  • Roy

    Dear John,

    I wouldn`t agree with you. As you can see SWF Protector crashes decompilers.

    Regards,
    Roy

  • MT

    I can see it transforms this :
    var fixtureA:b2Fixture
    to :
    var loc1:*=

    Does removing the type of a variable change the speed of the swf at runtime ?

  • Reynaldo

    As far as I know such method should not increase runtime speed and file size.

  • Thought you might find this interesting:

    http://www.swfdecrypt.com/

  • Pingback: Two Weeks In and No Updates - SWF Encryption Uncovered()

  • All of you guys who are saying “it can always be decompiled” are missing the point.

    All you’re doing with an obfuscator or encryption methods are just making it a much bigger pain to decompile than it’s worth it to do so.

    Sure you can decompile farmville to make a clone if you want, but there’s no point in doing so if you don’t have the $100’s of millions to out-advertise the original farmville to steal their users away. Even then you STILL don’t have the robust backend that’s even more important than the client to making the game work.

    If you publish stand-alone non-facebook games then the same rule applies. Either you’re offering your game for free OR you should already have your game on all the necessary sites where there’s money to be made. In both cases nobody is going to make money off stealing your code.

  • jonas

    I am flash game developer i use Flash Secure Optimizer from http://www.eramsoft.com

    • javid

      Flash Secure Optimizer is secure?

      • mike

        it is cheap and secure

  • By the way, Jonas. Why have you used “Flash Secure Optimizer” by eramsoft if there available FREE solutions from DComSoft software?

    SWF Compressor-Decompressor
    SWF Optimizer