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?
URL Action Editor worked perfectly. Changed a string literal without breaking anything else (unlike the other tools/decompilers mentioned in other posts).
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/