ActionScript 3 Obfuscator

I just released an Actionscript 3 Obfuscator named irrFuscator. It's free and can be downloaded from ambiera.com.

Background story:

The problem with high level languages like C#, Java and ActionScript is that the binaries of the compiled programs are very easy the reverse engineer and to steal or to modify them. This problem is pretty huge especially with SWF files: It's pretty common in the flash developer community to steal the code or even whole games of other developers in this way. Latest example:
The official web site of the Beijing O'ymp'cs featured a copy of the game Snow Day.
So to circumvent this problem, you usually use code obfuscators to make it harder for people to steal your code. And when I started developing the game Darkness Springs, I didn't find a good code obfuscator for Actionscript 3 which fitted my needs, so I simply wrote my own one. And I am providing it now for all other people with the same problem, for free.

And the name 'irrFuscator': Yes, it's ugly, but I really was to tired to invent a better new name :)
(Visit website of irrFuscator).

fourteen comments, already:

Thanks Niko, I have recently gotten into Flex/Actionscript and I’m sure I’ll find a use for this sometime.
BlindSide - 24 03 08 - 15:16

I’m looking into learning how to develop Flash games, but I want to avoid buying Adobe Flash CS3. What tools are you using for your development Niko?
Michael - 24 03 08 - 17:12

Also there is a typo on the irrFuscator website: “your .swf files are a lot saver” should be “safer”.
Michael - 24 03 08 - 17:15

Do you plan to include the posility to obfuscate other programming languages (like C#, or Python, ruby…;) in later versions?
blend () - 24 03 08 - 18:14

I am very surprised how much programming you do, do you sometimes sleep? Or drink you too much coffee? I want to say: Thank you very much, and I am excited what will come next!
Stefan Branske - 24 03 08 - 21:38

@Michael, use Flex
BlindSide - 25 03 08 - 06:15

Same as Stefan Branske. How many hours do you sleep in a day?
Don’t tell me you’re going to release somethin like irrOS or irrBOX :P
bull - 25 03 08 - 16:30

I’m not sure how actionscript is compiled and decompiled. But i don’t think removing line breaks can help to obfuscate the code.
bull - 25 03 08 - 16:35

@michael: thanks, corrected.
@blend: yes, I thought about adding other languages later, but it doesn’t have any priority for now.
@stefan, bull: sleep? I can do that when I am dead ;)
@bull: yes, the feature with the line breaks is only useful if you want to send the plain source code, of course.
niko - 25 03 08 - 16:52

Michael : You can develop complete flash games using the Flex-AS combination, browse to http://opensource.adobe.com/wiki/display...
agnas () (link) - 26 03 08 - 10:53

How about trying a thesaurus to find a new name? Obfuscate… lesse…

“baffle, becloud, befuddle, bewilder, cloud, complicate, conceal, confound, darken, fog, fuddle, muddle, obscure, perplex, puzzle, rattle”

Heh. IrrDarken… LightDarken. :)
Michael Summers () - 26 03 08 - 11:22

Niko man, you are an astonishing person!!! I also got into AS3 lately, this will be a very handy tool for me.

I am not an expert in Actionscript, but are there some parts, which shouldn’t be obfuscated? I have used C# obfuscation tools and you had to keep an eye on places where reflection was used.
Martins - 27 03 08 - 13:40

Good, excellent job! But something is missed. Not everybody works in Flex, but in CS3 too. Why not to provide for this case an ability to see some kind a report with files/classes old & new names table?
Something like this: com.MyClass.as – com.df345.as. It will be so useful and, imho, will not take much time for implementation.
flash33 () - 28 03 08 - 18:34

yes there are are dynamic classes in actionscript for example as well, but you can take care of these using the ‘ignore’ option in irrfuscator.
about a new name table: good idea.
niko - 29 03 08 - 13:26


Name:  
Remember personal info?
yes
no
Email (optional):
URL (optional):
Enter "layered" (antispam):
Comment:Emoticons / Textile

  ( Register your username / Log in )

Notify: Yes, send me email when someone replies.  

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.
Note: If you type in your email adress above, it will be visible to other visitors, although it will be hidden for bots using javaScript.