XFL - 什么是./bin/*.dat文件? [英] XFL - What are the ./bin/*.dat files?

查看:204
本文介绍了XFL - 什么是./bin/*.dat文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

解决方案

* .dat文件存储各种类型的媒体内容。我可以说迄今为止:

$ ol

  • 图像存储为JPEG格式,无需额外的信息。这意味着只需重命名* .dat就足以获得原始图像。这样的文件以#{FFD8}开头。
  • 图像以某种内部RAW格式存储。使用反向工程,我可以说,例如,原始像素数据#{FFFFFFFF}(1x1)的位图存储为:


    pre >
    0305;原始位图标识符?
    0400;解压缩行数据的长度
    0100;宽度
    0100;高度
    00000000;未知
    14000000;宽度缇
    00000000;未知
    14000000;身高在缇
    00;一些标志 - 01 =图像具有透明度

    变体1 .:
    01;压缩数据标志
    0200;长度压缩块
    7801;压缩块
    0A00;压缩块长度
    FBFFFFFF7F0009FA03FD;压缩块
    0000;压缩流结尾

    变体2:
    00;数据是未压缩的
    00000000
    00000000;未知数据 - 总是为零?
    FFFFFFFF;原始未压缩的ARGB数据

    其中解压缩的数据是存储类型为ARGB的像素,应该足以从中获得图像。这是使用ZLIB压缩(www.zlib.net)闪存使用压缩级别1,但它可以使用任何级别(但它不是必要的,因为源通常是完全压缩。

    声音以RAW格式存储在DAT文件中,使用DOMSoundItem中的信息可以很容易地从中创建WAV文件。


  • 剩下的就是未知。

  • * .dat类型的其余部分还未知。



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

    Uncompressed Adobe's Flash XFL format still keeps a lot of content compressed. Does anybody know specification of these binary *.dat files?

    解决方案

    The *.dat files stores various type of media content. What I can say so far is, that:

    1. images are stored as JPEGs without additional info. That means just renaming *.dat is enough to get the original image. Such a files starts with #{FFD8}
    2. images are stored in some internal RAW format. Using reverse engineering I can say that for example bitmap with raw pixel data #{FFFFFFFF} (1x1) is stored as:

    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
    

    where the decompressed data are pixels with storage type: ARGB, so with the size info it should be enough to get the image from it. It's using ZLIB compression (www.zlib.net) Flash is using compression level 1, but it's possible to use any level (but it's not necessary as the sources are normally compressed altogether.

    1. SOUNDS are stored in DAT files in RAW format, it's possible to make WAV files from it easily using the information from the DOMSoundItem.
    2. The rest is unknown yet.

    The rest of the *.dat types is unknown yet.

    The name of the DAT files is important as well! Flash somehow gets numbers from the name, using name like checksum in hexadecimal form (9BB551621D3E2138FECA2F04469531D7.dat) crashes Flash! Using chars like [_.-] will cause the content unloadable as well (but not crash)

    这篇关于XFL - 什么是./bin/*.dat文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆