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

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

问题描述

未压缩 Adob​​e 的 Flash XFL 格式仍然压缩了很多内容.有人知道这些二进制 *.dat 文件的规范吗?

解决方案

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

  1. 图像以 JPEG 格式存储,没有附加信息.这意味着仅重命名 *.dat 就足以获得原始图像.这样的文件以#{FFD8}
  2. 开头
  3. 图像以某种内部 RAW 格式存储.使用逆向工程,我可以说例如带有原始像素数据 #{FFFFFFFF} (1x1) 的位图存储为:

<前>0305 ;原始位图标识符?0400 ;解压后的行数据长度0100 ;宽度0100 ;高度00000000 ;未知14000000 ;宽度以缇为单位00000000 ;未知14000000 ;以缇为单位的高度00 ;一些标志 - 01=图像具有透明度变体1:01 ;压缩数据标志0200 ;压缩块的长度7801 ;压缩块0A00 ;压缩块的长度FBFFFFFF7F0009FA03FD ;压缩块0000 ;压缩流结束变体2:00 ;数据未压缩0000000000000000 ;未知数据 - 总是零?FFFFFFFF ;未压缩的原始 ARGB 数据

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

  1. 声音以 RAW 格式存储在 DAT 文件中,可以使用来自 DOMSoundItem 的信息轻松地从中制作 WAV 文件.
  2. 其余的尚不清楚.

其余的 *.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天全站免登陆