查看文章 |
开始解析。 46 57 53 08 没有问题,fws形式的flash8版本的swf。 24 01 00 00 =00 00 01 24=292 字节。 80 00 02 51 c0 00 01 96 40 代表了他的尺寸,950×650,不懂的看前面。 00 1e =30帧/秒 01 00=00 01=1 帧 44 11 00 00 00 00 =FileAttributes 不明白 43 02 ff ff ff =背景颜色是 白色 3f 03=03 3f =00000011 00111111 =0000001100 111111 =tag 类型 12 ,长字节,算后面四个 69 00 00 00=00 00 00 69=105 个字节就是这tag类型12 的东西。 tag类型12是 DoAction,就是语句了。。 看后面的东西,叫做ACTIONRECORD,可以为0 也可以很多(说明书这样写的)。。。汗一个。。废话一个。。 后面是 88 36 。。。 查到88是ActionConstantPool,动作常数池?算了,不翻译了。。就是这个。 后面是 36 00 = 00 36 = 54个字节是 这个池子里面的东西。。 开始看池子里面的东西了。 07 00 7a 6d 74 78 74 31 00 e5 bc 80 e5 8f a3 e6 9e a3 00 07 00看不懂,好像是id号,不管了。 开始读取 7a 6d 74 78 74 31 =zmtxt1 00 =分隔符 e5 bc 80 e5 8f a3 e6 9e a3=开口枣 (这个怎么来的?这个。。。这个。。。啊,看,飞碟。。) 接着 00 7a 6d 74 78 74 32 =zmtxt2 00 e5 a4 a9 e5 a4 a9 e5 ad a6 e4 b9 a0=天天向上 00 74 78 74 31 =txt1 00 74 65 78 74 = text 00 74 78 74 31 = txt2 00 好,刚好54个字节。 后面就不在是这个池子里面的东西了。 96 这个由于还在105 字节内,所以,还是action,看看他的类型是什么。 ActionPush,汗一个,是动作推。。。。不要翻译了,就是放置了。 04 这个是。。。。 好了,破了,那个瓶颈,现在继续说. 96 就是push ,就是var的意思了 04就是Register number,就是使用池子里面的东西的意思..我想是这样吧. 00 08 是后面的就是索引,index的意思 00 就是指池子里面的第一个常量,就是说是 zmtxt1, 08 索引池子 01 第2个常量 开口枣 3c ActionDefineLocal,看解释是说,一个常量被定义之后的信息. push zmtxt1 开口枣 直接弄成flash语句就是, var zmtxt1="开口枣" 同理,弄出了 var zmtxt2="天天向上" 后面呢 96 02 ....这个上面写的是 null ,就是空..无意义 08 04 这个当然是id5了,txt1, 1c ActionGetVariable,获取参数,就是说txt1的参数是获取的, 就是说, txt1= 就这样,没有后文了,继续解读 96 push 04 熟悉的影子 08 05 =text 08 00 = zmtxt1 1c 获取参数 4f ActionSetMember,就是把这个参数设置到 member就是说设置到场景里面. 这样,回忆flashas,可得 就是说, txt1.text=zmtxt1 后面同理 解读出 txt2.text=zmtxt2 想想... 07 ActionStop,就是stop() 哎... 就是这样了.. 计算一下,加上后面的00分隔符,就是105个字节 整个语句就是 var zmtxt1="开口枣" var zmtxt2="天天向上" txt1.text=zmtxt1 txt2.text=zmtxt2 stop() |