XFL - Что такое файлы ./bin/*.dat? - PullRequest
5 голосов
/ 03 ноября 2010

Несжатый формат Adobe Flash XFL по-прежнему сохраняет большой объем содержимого сжатым.Кто-нибудь знает спецификацию этих двоичных файлов * .dat?

Ответы [ 2 ]

8 голосов
/ 03 ноября 2010

В файлах * .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. ЗВУКИ хранятся в файлах DAT в формате RAW, из него можно легко сделать файлы WAV, используя информацию из DOMSoundItem.
  2. Остальное пока неизвестно.

Остальные типы * .dat пока неизвестны.

Имя файлов DAT также важно! Flash каким-то образом получает числа из имени, используя имя, например контрольную сумму в шестнадцатеричной форме (9BB551621D3E2138FECA2F04469531D7.dat), происходит сбой Flash! Использование символов типа [_.-] также приведет к невозможности загрузки содержимого (но не к падению)

0 голосов
/ 17 февраля 2012

Имена файлов не имеют собственного значения, но вам, конечно, нужно найти ссылки на имена файлов в других (обычно XML) файлах.

...