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

时间:2010-11-02 22:50:25

标签: flash flash-cs5 xfl

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

2 个答案:

答案 0 :(得分:8)

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

  1. 图像以JPEG格式存储,无需其他信息。这意味着只需重命名* .dat即可获得原始图像。这样的文件以#{FFD8}
  2. 开头
  3. 图像以某种内部RAW格式存储。使用逆向工程我可以说例如带有原始像素数据#{FFFFFFFF}(1x1)的位图存储为:
  4. 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. 其余的还不得而知。
    3. 其余* .dat类型尚不清楚。

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

答案 1 :(得分:0)

文件的名称并不重要,但您当然需要在其他(通常是xml)文件中找到对文件名的引用。