views:

218

answers:

1

I'm working on a very large flash project that shares code extensively across runtime libraries. I'm evaluating whether to obfuscate our code, and which obfuscator to use, and I'm having trouble finding one that fits the bill.

-Many RSLs, many source trees and projects. -We use some dynamic properties, so I'd like to have a good deal of control over which symbols are renamed. -Integrable into a build system

I looked at Amayeta, but I'm not convinced it has the fine-grained control I need. I looked at irrfuscator, but it seems very immature, and doesn't seem to scale well to large projects.

Any other recommendations? I'm aware that obfuscation or encryption won't provide complete protection, I'm just looking to make it harder for folk to mess with us.

On the other hand, if no acceptable obfuscator exists, I'll just argue that we don't need to do it.

+2  A: 

It seems that since you're going with lots of shared libraries, that you'll have to not obfuscate the vars, methods or even some strings--since the other swfs will need to be able to access them. Which makes it a lot less useful, and a bit easier for a decompiler to produce readable results.

Stripping the whitespace might probably won't do much either, since the decompilers all format the code from scratch too.

Minifying it would shrink the compiled size a little bit, and encrypting the strings might be helpful, but only if they don't get in the way of SWF (RSL) interoperability.

The bottom line question I'd ask is that are the people who are desperate enough to bother decompiling the code, aren't also going to be desperate enough to "defuscate" the what will essentially be combined functions and short var names?

I too don't see much point in obfuscation. People who are that desperate to decompile, are most likely amateurs and won't even know how to handle your OOP code. Those pros to be afraid of are likely to author themselves.And of course, if you are going to obfuscate your code, any obfuscation algorithm will add to the size or if not, have impact on performance.To prove the point I've done a small research lately on SWFProtector, see http://tekkie.flashbit.net/flash/as/protect-your-actionscript-code-with-swf-protector
Ain