XFL - Что такое файлы./bin/*.dat?
Несжатый формат Adobe Flash XFL по-прежнему сохраняет сжатый объем содержимого. Кто-нибудь знает спецификацию этих двоичных файлов *.dat?
2 ответа
Файлы *.dat хранят различные типы медиа-контента. Что я могу сказать, так это то, что:
- изображения хранятся в формате JPEG без дополнительной информации. Это означает, что достаточно просто переименовать *.dat, чтобы получить исходное изображение. Такие файлы начинаются с #{FFD8}
- изображения хранятся в каком-то внутреннем формате RAW. Используя обратный инжиниринг, я могу сказать, что, например, растровое изображение с необработанными пиксельными данными #{FFFFFFFF} (1x1) сохраняется как:
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). Flash использует уровень сжатия 1, но можно использовать любой уровень (но это не обязательно, поскольку источники обычно вообще сжимаются.
- Звуки хранятся в файлах DAT в формате RAW, из него можно легко сделать файлы WAV, используя информацию из DOMSoundItem.
- Остальное пока неизвестно.
Остальные типы *.dat пока неизвестны.
Имя файлов DAT также важно! Flash каким-то образом получает числа из имени, используя имя, например контрольную сумму в шестнадцатеричной форме (9BB551621D3E2138FECA2F04469531D7.dat), происходит сбой Flash! Использование символов типа [_.-] также приведет к невозможности загрузки содержимого (но не к падению)
Имена файлов сами по себе не значимы, но вам, конечно, нужно найти ссылки на имена файлов в других (обычно XML) файлах.