flex – swf嵌入时会发生什么?
发布时间:2020-12-15 01:49:33 所属栏目:百科 来源:网络整理
导读:我有一些嵌入SWF的AS3代码(它本身包含AS3): [Embed(source="/assets/myas3libswf.swf",mimeType="application/octet-stream")]protected static const MyAs3LibSwfClass : Class; ...var loader:Loader= new Loader();loader.loadBytes(new MySwfClass() as
我有一些嵌入SWF的AS3代码(它本身包含AS3):
[Embed(source="/assets/myas3libswf.swf",mimeType="application/octet-stream")] protected static const MyAs3LibSwfClass : Class; ... var loader:Loader= new Loader(); loader.loadBytes(new MySwfClass() as ByteArray); ... 在查看Flash反编译器(Trillix,So-Think等)如何看待这一点时,他们只是展示: //MyClass_MyAs3LibSwfClass package mypackage { import mx.core.*; public class MyClass_MyAs3LibSwfClass extends mx.core.ByteArrayAsset { public function MyClass_MyAs3LibSwfClass() { super(); return; } } } 他们似乎也没有提供任何方法来提取ByteArray. 当然,混淆AS3代码并不容易.但SWF去了哪里?使用十六进制编辑器查看它,我甚至找不到嵌入式SWF的起始标题(“CWS”). 我的问题是:当SWF作为ByteArray嵌入时,会发生什么?并且任何反编译器都支持提取嵌入的ByteArray吗? 注意:我没有嵌入此SWF以进行混淆(还有其他原因).我只对嵌入的反编译分支感兴趣. 解决方法
嵌入数据存储在SWF文件的DefineBinaryData标记中.然后,SymbolClass标记将数据绑定到其定义. (
SWF file format specification)
如果要适当地解压缩SWF主体(压缩的SWF以CWS开头并在前8个字节后使用zlib压缩),您将在原始数据中看到CWS或FWS标头. 这些都没有说明反编译器如何处理数据. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |