百度空间 | 百度首页 
 
查看文章
 
swf文件分析(二)
2007年02月21日 星期三 下午 07:24

下一个,说说swf文件的尺寸。

现在已经解析了前面8个数组了,从第九个数组开始,我这个是

80 00 02 51 c0 00 01 96 40 00 .......

开始跟着我分析

8010000000 16进制转2进制)

取前面5位(不要问我为什么,我也不知道。)

10000162进制转10进制)

我们在重新算一下需要的数组数,4×1656969/8=8.625==9

这样,9个数组就好了。

80 00 02 51 c0 00 01 96 40这个就够了。

ok,明白了,它是以16位来区分的,意思就是,它每16个数字一组,来确定其尺寸。

80 00 02 51 c0 00 01 96 40.......2进制就是

10000000 00000000 00000010 01010001 11000000 00000000 00000001 10010110

重新划块。

10000    0000000000000000    0100101000111000    0000000000000000    0011001011001000    000

第一块是定义数位

第二块是xmin0

第三块是xmax010010100011100019000,然后除以20(这个是别人定的,我也不好说什么),950出来了。哈哈,可见xmax950

这样一算,widthxmaxxmin950

如此类推,第四块是ymin0,第五块是ymax650。所以,height650

第六块放弃,丢掉。

这样,swf的尺寸就出来了,950×650

明白了吧?

到现在为止,我们处理了多少个数组了?17,哈哈,好有效啊。

下面,开始处理下面2个数组

下面2个数组是代表了帧频。我的是00 1e,一换算,就是30。恩恩。很好。

接下去2个数组是代表了帧数。我的是01 00 ,这个也要倒序来算,所以,就是1,恩恩,正确。

好了,下一个数组开始,就不是文件头了。开始真正的解析swf了。

接下来,请再详细看看最上面的文章,好好理解一下什么是tag,还有tag的类型。

接下来就来讲解这个tag了。

恩,我们之前已经读到44 11 00 00 00。。。了。

开始分析

由于是字节,要高低位之分,低位在前,高位在后。。(什么是高低位,我这么知道。我就知道这样做而已。)

看这个 44 1111 44 0001000101000100 4420,哈哈。但是由于要判断他的类型,得2进制的东西向左移6位,就是作去掉后六位的意思。这样,实际上就是000100010169 看到了,它的tag类型是69,下面我会介绍类型分别代表什么意思的。

后面去掉的那六位,0001004,不是63,就是二进制的时候不是111111,所以,是短tag,这个就是字节数。

所有,第一个tag包含的东西有

44 11 00 00 00 00  。恩恩,很好很好。

现在来说明一下,tag类型69是代表了什么。

FileAttributes----不是很明白这个是什么,字面意思是文件属性,而且,后面的属性均为0,不清楚。。

我们说到哪了?

43 02  ff  ff  ff ...看明白吗?

不用明白,解析出来后就知道了。

43 0202 4300000010 01000011

分开解读,0000001001  000011 分别是 tag类型9,字节数为3。恩

意思就是,他的类型是SetBackgroundColor,就是控制背景颜色的了。后面3个字节就是它的属性。

所以,ff ff ff 就是他的背景颜色,可见,是255 255 255的白色。

恩恩,对头。。。

好了,又处理成功一个。。。

继续研究。研究到 7f  05  7a  c8 15 00

开始研究文件头

7f 05 =05 7f =0000010101111111

分开 0000010101 111111

tag类型000001010121,为DefineBitsJPEG2,哈哈,找到图片了。

长度11111163,终于出现了,长字节型的,以接下去4个字节为它的大小。(不要问我为什么,就是这样做就好了)

7a  c8 15 0000 15 c8 7a1427578

哈哈。。图片大小出来了。。

哎。。

怎么多了2个字节?

奇怪了。。

对比一下,图片的文件头是 ff d8

而这个却是01 00 ff d8,可见,虽然不知道前面2个字节是干什么的,但是,去掉。哈哈。

这样就出来了。

图片就这样被我导出来了。。

hoho

下节课,和大家一齐,弄声音文件出来。hoho

今天我们不来讲导出音乐。

来讲查看代码,就是查看as了。

这个。。。

先来看看

*************************************

这个就是包含几普通语句的代码。当然,为了容易解释,我都是用未压缩的swf


类别:电脑应用 | 浏览() | 评论 (0)
 
网友评论:
本篇日志被作者设置为禁止发表新评论

     

©2009 Baidu