Can I change an ActionScript string literal in a SWF without the source FLA file?

旧城冷巷雨未停 提交于 2019-12-11 09:50:01

问题


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?


回答1:


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




回答2:


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/



来源:https://stackoverflow.com/questions/11398180/can-i-change-an-actionscript-string-literal-in-a-swf-without-the-source-fla-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!