# Any tool to disassemble Flash?

**URL:** <https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163>\
**Category:** Factual Questions\
**Created:** [March 2, 2011, 4:29am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163 "2011-03-02T04:29:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![gaffa](https://avatars.discourse-cdn.com/v4/letter/g/e68b1a/32.png) [@gaffa](https://boards.straightdope.com/u/gaffa)\
**Post date:** [March 2, 2011, 4:29am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/1 "2011-03-02T04:29:00Z")

</div>

I’m going back and forth with a potential client. He wants me to modify his web site, to create a version in Arabic.

The problem is, he doesn’t actually have a website, he has a Flash container. The person or firm who created the Flash stuff hit the limits of their knowledge and was apparently not able to make an Arabic Flash file. So I told him that neither I, nor anyone else, could modify the swf file without the original elements.

So, is what I said the truth? Is there some tool I’m not aware of that will allow someone to completely disassemble a swf file and modify the text?

---

<div class="post-metadata">

**Author:** ![pulykamell](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/pulykamell/32/3166_2.png) [@pulykamell](https://boards.straightdope.com/u/pulykamell)\
**Post date:** [March 2, 2011, 7:12am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/2 "2011-03-02T07:12:46Z")

</div>

Google “Flash Decompiler.” There’s a few out there. I’ve only decompiled to extract resources–I’ve never tried to recompile, so I don’t know how well these tools work in that direction.

---

<div class="post-metadata">

**Author:** ![Sunspace](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/sunspace/32/1250_2.png) [@Sunspace](https://boards.straightdope.com/u/Sunspace)\
**Post date:** [March 2, 2011, 7:34am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/3 "2011-03-02T07:34:53Z")

</div>

I have occasionally used the So-Think decompiler.

> **[\[Official\] Sothink SWF Decompiler, Flash Decompiler, Flash to HTML5 Converter](https://www.sothink.com/product/flashdecompiler/)**
>
> Sothink SWF Decompiler, the pioneer Flash Decompiler, can decompile Flash SWF to FLA/Flex; Convert Flash to HTML5; Edit Flash, ActionScripts and more resources in clicks.

---

<div class="post-metadata">

**Author:** ![gaffa](https://avatars.discourse-cdn.com/v4/letter/g/e68b1a/32.png) [@gaffa](https://boards.straightdope.com/u/gaffa)\
**Post date:** [March 2, 2011, 8:48am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/4 "2011-03-02T08:48:48Z")

</div>

> [@Sunspace](#):
>
> I have occasionally used the So-Think decompiler.
> 
> [[Official] Sothink SWF Decompiler, Flash Decompiler, Flash to HTML5 Converter](http://www.sothink.com/product/flashdecompiler/)

How useful is the result? Are the text elements editable?

---

<div class="post-metadata">

**Author:** ![scudsucker](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/scudsucker/32/14101_2.png) [@scudsucker](https://boards.straightdope.com/u/scudsucker)\
**Post date:** [March 2, 2011, 2:31pm UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/5 "2011-03-02T14:31:35Z")

</div>

I’ve used Buraks actionscript viewer, which allows both viewing and decompiling.

I have successfully rescued projects at my previous work where the source .fla was missing, but - the way these things decompile means that the person taking over the newly created .fla MUST have a decent knowledge of flash, particularly optimisation.

No original variable names will be retained, and elements will be distributed across many layers. You’ll need to spend some time fixing the resuscitated .fla before it is usable.

In any case, unless the original flash designer made the text easily modifiable via CMS or XML, you will have a huge amount of work finding blocks of text and replacing them with Arabic.

In short, I would suggest that it may well be easier to recreate the site from scratch, properly, rather than monkey around with a decompiled version. However, both Buraks and Sothink offer free limited trials (as far as I can recall) so it is worth a try to see what the output is like.

---

<div class="post-metadata">

**Author:** ![scudsucker](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/scudsucker/32/14101_2.png) [@scudsucker](https://boards.straightdope.com/u/scudsucker)\
**Post date:** [March 3, 2011, 10:22am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/6 "2011-03-03T10:22:21Z")

</div>

As I was driving home yesterday I realised that there is in fact a way to do this with the original, leaving it compiled.

It will not be pleasant, but assuming all text is hard-coded into the flash file…

Run the .swf in the Flash Debug Player. One of the menu options should be “Debug”, and under that “List Variables”

This will give you a list of all objects- including textboxes and their current value.

You must copy all this info, leaving out any objects that do not have text.

Now, for your new, arabic version, create a new .fla the correct size. Onstage, place an empty movieclip at 0,0

Load the old swf into this clip using loadMovie

With a preloader, work out when it is loaded, and then using the list of textboxes, loop through and replace the text with the japanese equivalent.

Not easy, but could be easier than the above…

Create a new fla

---

<div class="post-metadata">

**Author:** ![gaffa](https://avatars.discourse-cdn.com/v4/letter/g/e68b1a/32.png) [@gaffa](https://boards.straightdope.com/u/gaffa)\
**Post date:** [March 6, 2011, 3:53am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/7 "2011-03-06T03:53:47Z")

</div>

Thanks for the responses.

Right now, the potential client is only at Stage 1 of the “Five Stages of a Bad Website”. I got “Denial” and “Anger” in the first e-mail, I’m expecting “Bargaining” next.

---

<div class="post-metadata">

**Author:** ![code\_grey](https://avatars.discourse-cdn.com/v4/letter/c/f4b2a3/32.png) [@code\_grey](https://boards.straightdope.com/u/code_grey)\
**Post date:** [March 7, 2011, 1:34am UTC](https://boards.straightdope.com/t/any-tool-to-disassemble-flash/573163/8 "2011-03-07T01:34:36Z")

</div>

it sounds like the client hit the limit of his competence too, when he managed to fail obtain the code base from the coder before ending work with him.

Why doesn’t he look the coder up and pay him for the code base now? Maybe the coder will charge less for existing code than another coder would charge for writing from scratch?
