使用SWFXML替换SWF里的字符串或图片


简单替换 SWF 里指定的字符串。

准备一个 1.swf,里面是个 _sans 的动态文本,内容是“Hello World!”:



双击 SWFXML.vbs 启动软件:



toXML 模式选“文本”,确保勾上“拖入直接开始”:



把 1.swf 拖进来:



如无意外,会在同一目录生成 1.xml:



编辑 1.xml,找到 DefineEditText 节点,把 InitialText 的值改成“Hello SWF!”:



保存 1.xml,拖入到软件里:



如无意外,会在同一目录生成 1_modify.swf,打开 1_modify.swf 看发生了什么!



准备一个 2.swf,放个动态文本 txt,用 AS2 代码设置内容为“Hello World!”:



toXML 模式选“AVM1”:



swf2xml!

编辑 2.xml,找到 DoAction 节点,把 push "text","Hello World!" 改成 push "text","Hello SWF!":



xml2swf!

打开 2_modify.swf……Surprise?!



准备一个 3.swf,放个动态文本 txt,用 AS3 代码设置内容为“Hello World!”:



toXML 模式选“AVM2”:



swf2xml!

编辑 3.xml,找到 DoAction 节点,把 pushstring "Hello World!" 改成 pushstring "Hello SWF!":



xml2swf!

打开 3_modify.swf……楼主这么叼,你家里人造不!



准备一个 4.swf,里头是一张 Hello World!.png:



toXML 模式选“图片”,swf2xml 后,如无意外,会在同一目录生成 4.xml 和 4.swf.资源们/:



打开 4.swf.资源们/图片,把 DefineBitsLossless-1.png 替换为其他内容:



xml2swf:



搞定:



相关文件:https://github.com/zero-swf/SWFXML/tree/master/usage1