Tom
Tom

Reputation: 8127

Do you know any good actionscript / flex 3 obfuscators?

Now I do know that obfuscation is never 100% safe, but it's better than nothing when attempting to avoid others from decompiling your .swf files.

I googled and found one which only changed variable names and removed comments. I need something more advanced. Any recommendations?

Upvotes: 1

Views: 775

Answers (5)

Teesquared
Teesquared

Reputation: 61

Code obfuscation in a language like ActionScript can be very difficult. Randomly renaming symbols can break your program. I recently released a Flash mobile game and did a similar research to find something open source, free, and that worked reliably for my project. I couldn't find any so I wrote one. It worked for my project and could possibly work for you. See the GitHub site for usage and license details.

https://github.com/Teesquared/flasturbate

Upvotes: 0

Discipol
Discipol

Reputation: 3157

By using mxml just for the Main, you bring with it about 100kb of code relating to Flex's innards. All this code buries yours, making decompilation a very tedious task for the would-be cracker. If your code is important, pony-up the dough for a professional, well-known byte obfuscator that handles swfs. They usually add 1 MB to the swf size.

Alternatively, turn your swf into a exe using the create projector. This makes it even harder to get your code. It adds ~10 mb tho.

Upvotes: 1

Karol Be
Karol Be

Reputation: 410

While i was digging for the best obfuscators i went trough those:

Amayeta SWF Encrypt : http://www.amayeta.com/software/swfencrypt/
Kindi secureSWF : http://www.kindi.com/
Ambiera irrFuscator : http://www.ambiera.com/irrfuscator/
DComSoft SWF Protector : http://www.dcomsoft.com/
K-Sol toKaos : http://www.tokaos.com/actionscript-encryption-swf-whats-new.asp
OBFU : http://www.opaque.net/~dave/obfu/ : doesnt give any protection against sothing decompiler
actionscript-3-obfuscator : https://github.com/shapedbyregret/actionscript-3-obfuscator
Open-source SWF : http://ideaskill.com/obfuscator/obfuscator.swf

For small project almost all of them can be use. Unfortunately fo bigger more complex projects only some of them are working. My personal choice are Amayeta and Kindi.

Upvotes: 1

back2dos
back2dos

Reputation: 15623

It seems you use Flex, so if you use a lot of MXML, than there is no need for obfuscation. It is hard to reverse engineer the original MXML from the decompiled ActionScript that has been generated from that very MXML source. The generated ActionScript is not really a pleasure to work with.


Sidenote:

Why it is so vital to prevent others from decompiling your swfs? Comments always get lost during compilation and local variables/function parameters lose their names. If your code is so revolutionary and complex that people rely on decompilation to reverse engineer it, than this fact will make it very hard for them. Most of the time trying to reimplement things is cheaper. In the end, I think decompiling SWFs is as pointless as obfuscating them.

For that reason, I don't really know any obfuscators. The only good ones I knew for AS2 increased filesize by more than 100% and slowed down performance critical parts drastically which in my eyes decreased the value of the application a lot. A price I wouldn't pay for code security. I also don't mind sharing my code, but that's a matter of philosophy.

You should instead focus on creating an outstanding software and placing it well on the market. Be it obfuscated or not, there are always people capable of reverse engineering it. Getting a good market share and simply have a very high quality are things that'll guarantee success of your software, disregarding copycats you might even wan to open source big chunks of it, since this is a further discouragement for commercial competitors, and non-commercial ones will never try to kick you out of business, plus they may even give useful input.

Upvotes: 3

ethyreal
ethyreal

Reputation: 3669

I would not say I could vouch for this, but I see them on almost every flex blog I go to: secureSWF

Upvotes: 1

Related Questions