I just released a new version of the ActionScript 3.0 obfuscator irrfuscator
which includes a nice new feature, the ability to obfuscate binary .SWF files: Simply select an existing SWF file, and irrFuscator will mess around with its Actionscript 3 bytecode so that decompilers won't be able to gather much useful information out of your swf file.
I initially created irrfuscator last year to obfuscate ActionScript 3.0 source code, .as and .mxml files. It seemed to be quite useful for some people, but having to obfuscate a large amount of source files and then needing to recompile them is a bit inconvenient, so I added this option now.
irrFuscator will open the .swf, search for action script 3 bytecode sections and mess around with them. After this, a new SWF is created, packed and written out, simple as that. It was quite interesting to implement, but not as hard as I thought it would be. Learned a lot. Most unusual about the .swf file format: Reading a simple 32 bit integer value out of an (already decompressed) .swf file requires about 12 lines of code. That's a small first obstacle in the beginning if you should ever try to implement something like this yourself :)