SWF文件解析与处理:从标签剖析到Perl脚本实现
1. 标签剖析基础
在分析SWF文件时,我们逐字节地查看标签。每个标签都以头部记录开始,该记录编码了一个ID字段,用于标识标签类型和标签主体的长度(以字节为单位)。由于许多标签相对较小,SWF规范定义了两种类型的头部:用于62字节或更小标签的“短”标签头部,以及用于63到$2^{32} - 1$字节长标签的“长”标签头部。
| 头部类型 | 字段 | 数据类型 | 描述 |
|---|---|---|---|
| SHORTHEADER | Code | UI16 | 标签ID编码在高10位;长度编码在低6位 |
| LONGHEADER | Code | UI16 | 标签ID编码在高10位;长度编码在低6位,且低6位全为1 |
| LONGHEADER | Length | UI32 | 标签主体的字节长度 |
在分析过程中,我们会进行一些十六进制到二进制的转换以及二进制到十进制的转换。为了帮助进行这些转换,提供了一些Perl工具。
超级会员免费看
订阅专栏 解锁全文
2322

被折叠的 条评论
为什么被折叠?



