Tuesday, August 3, 2010

SWF Cry v0.02 released, protect your swf for free!

Update: August, 8, 2011
A minor version(v0.02fixed) maintenance update for SWF-Cry released!
Fixed several bugs.
Warning: this version maybe more buggy than the previous version(v0.02).
For backup purpose, you can find all old releases here:
A major version(v0.03) update, which has fewer bugs, more functions and better UI, will be available in the future.

TUTORIAL - How to use it:

First of all, click to expand the "Advanced Configuration" window .

1. Choose your main swf to be encrypted

Press “Browse _SWF button to upload your swf.

2. Choose your water mark swf

Press “Browse _WaterMark button to upload your water mark.

If you don't need a water mark, uncheck “Use _WaterMark.

You can set the water mark swf's x, y, scaleX, scaleY and alpha properties.

Change the “LinkTo url to your sites and the final output swf will have a water mark navigates to your sites when you click it.

3. Obfuscate

Edit the names list there; add names that you wish to be changed to random strings.

Use comma (",") to separate names.

If you don't want to obfuscate, uncheck "Obfuscate".

4. Pack

Edit the name (default uploadedswfname_CryOut.swf) after “OutPut_SWF_Name. That's the encrypted swfs name. You can also change it after the encrypted swf is created.

If you don't want to pack your swf, uncheck “Pack.

Notes: if you uncheck “Pack” and “Obfuscate both, SWF Cry will do nothing. Make sure at least one is checked.

5. Save the encrypted swf

Press “Cry_and_Save button to begin the encryption process, please wait a while till it's done and then you can save the encrypted swf.

6. Save your config

Press “Save_Config button to save your current config, you can load your config by “Load_Config. The saved config is an xml file, you can edit it manually.

7. Test your output swf, if you only see a blank swf, try unchecking Pack.
If the player throw errors such as “can't find definition... check the obfuscate names list, make sure no as3 key words there!


1. Only as3, AVM1 swfs (as2,as1) are not supported currently and won't be supported in the future.
2. Sometimes swfs access net files won't run on a local computer after Pack.
3. If your swf accesses stage, add code below in your main class's constructor function:

else {init();}
function onAdded(event:Event){init();}
function init(){}

Otherwise, the packed swf will throw errors. Go here (http://www.flashandmath.com/intermediate/swfload/docclass.html) for details.
4. Many other bugs...

Bugs, ideas, requirements, just drop a comment!



  1. Thanks you. Good work, good blog :)

  2. Error: Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.
    at flash.net::FileReference/_save()
    at flash.net::FileReference/save()
    at SWF_Cry/3$=>,($)()
    at SWF_Cry/3/5()
    at SWF_Cry/Pack()
    at SWF_Cry/Encrypt()
    at SWF_Cry/?4!4!86/@()
    at SWF_Cry/;@38%/-85()

  3. @jared: It's a bug to be fixed in the next release. You can download the swf file and use it on your local computer(open it with the debug flash player) or do as what I said in "TUTORIAL - How to use it:" to avoid the problem.