XFL - 什么是./bin/*.dat文件?

Old*_*des 5 flash flash-cs5 xfl

未压缩的Adobe的Flash XFL格式仍然保留了大量压缩内容.有人知道这些二进制*.dat文件的规范吗?

Old*_*des 8

*.dat文件存储各种类型的媒体内容.到目前为止我能说的是:

  1. 图像以JPEG格式存储,无需其他信息.这意味着只需重命名*.dat即可获得原始图像.这样的文件以#{FFD8}开头
  2. 图像以某种内部RAW格式存储.使用逆向工程我可以说例如具有原始像素数据#{FFFFFFFF}(1x1)的位图存储为:
0305     ;raw bitmap identifier?
0400     ;length of decompressed row data
0100     ;width
0100     ;height
00000000 ;unknown
14000000 ;width in twips
00000000 ;unknown
14000000 ;height in twips
00       ;some flags - 01=image has transparency

variant 1.:
01       ;compressed data flag
0200     ;length of compressed chunk
7801     ;compressed chunk
0A00     ;length of compressed chunk
FBFFFFFF7F0009FA03FD ;compressed chunk
0000     ;end of compressed stream

variant 2.:
00       ;data are uncompressed
00000000
00000000 ;unknown data - always zero?
FFFFFFFF ;raw uncompressed ARGB data

其中解压缩的数据是具有存储类型的像素:ARGB,因此使用大小信息它应该足以从中获取图像.它正在使用ZLIB压缩(www.zlib.net)Flash正在使用压缩级别1,但它可以使用任何级别(但它不是必需的,因为源通常是完全压缩的.

  1. SOUNDS以RAW格式存储在DAT文件中,可以使用DOMSoundItem中的信息轻松地从中生成WAV文件.
  2. 其余的还不得而知.

其余*.dat类型尚不清楚.

DAT文件的名称也很重要!Flash以某种方式从名称中获取数字,使用十六进制形式的校验和名称(9BB551621D3E2138FECA2F04469531D7.dat)崩溃Flash!使用像[_.-]这样的字符也会导致内容无法加载(但不会崩溃)