1

A customer has asked me to move one of their old websites which is mostly flash based to a new server.

The original developer of the site many years ago made a mistake by using "http://127.0.0.1/...." in one important link in some ActionScript. The original development company is long since gone.

I am able to decompile the SWF using Sothink SWF Decompiler and find and correct the offending ActionScript. However I am unable to recompile back into a SWF that works completely correctly (numerous additional bugs appear, as it's a complicated Flash project). I've tried different Flash versions (going back to v.6), the 4th byte of the SWF indicates it was originally v.7 (MX2004), and I've tried matching Hex bytes in recompiled output against the original (to account for Tag compression etc.) So far nothing has matched.

It would take me a long time to fix all the additional bugs in my recompiled Flash, when all I really want to do is change one string literal in the original SWF so that the site works exactly as it was originally intended to do. I'm prepared to make the string length of my new literal match the old incorrect one exactly if necessary (by adding a directory/symlink on the new server linking back to the correct file).

Is there any way to do this?

rwired
  • 1,112
  • 3
  • 15
  • 28
  • I think this may possibly answer your question. http://stackoverflow.com/questions/119694/replacing-strings-inside-swf – John Giotta Jul 09 '12 at 15:34
  • so close, but so far. AS I mentioned I'd tried sothink already, thanks to your suggestion I just tried some of the others in that posting, with the following results: – rwired Jul 09 '12 at 16:30
  • URL Action Editor: Costs $119, this is more than I'm being paid for this simple "move to new server" job swfreplacer: Error "Currently I don't support compressed SWF file." Swiffotron: "SWFProcessing.SWFModeller.SWFModellerException: SWFParsing; Only SWF 9+ is supported (Found 7);" apparat: might work, but the comment says only AS3 (which clearly my source is not), I will need to install scalar and 7-zip to confirm. should I? – rwired Jul 09 '12 at 16:40
  • can you hijack the link instead of editing the source? i guess this is basically @Feras' suggestion, but doesn't have to be done with IIS. you could wrap the swf in another swf, e.g. http://stackoverflow.com/questions/2826086/rewite-or-hijack-an-absolute-url-request-made-from-a-flash-swf-file-in-a-bro – ericsoco Jul 10 '12 at 07:50
  • John: An ex-colleague in another company had a working copy of URL Action Editor. Worked exactly as advertised. If you post this as an answer I'll give you the credit. – rwired Jul 10 '12 at 08:28
  • Did you follow this instruction from Sothink Decompiler? Don't have to save as FLA and recompile. – Hao Nguyen Jul 17 '16 at 05:23

2 Answers2

1

URL Action Editor worked perfectly. Changed a string literal without breaking anything else (unlike the other tools/decompilers mentioned in other posts).

rwired
  • 1,112
  • 3
  • 15
  • 28
1

Here is a free application that will do what you are looking for, and it should work better too.

http://www.free-decompiler.com/flash/

RobertH
  • 355
  • 7
  • 17