5

非圧縮 Adob​​e の Flash XFL 形式では、依然として多くのコンテンツが圧縮されています。これらのバイナリ *.dat ファイルの仕様を知っている人はいますか?

4

2 に答える 2

8

*.dat ファイルには、さまざまなタイプのメディア コンテンツが保存されます。私がこれまでに言えることは、次のことです。

  1. 画像は、追加情報なしで JPEG として保存されます。つまり、元のイメージを取得するには *.dat の名前を変更するだけで十分です。そのようなファイルは #{FFD8} で始まります
  2. 画像は内部 RAW 形式で保存されます。リバース エンジニアリングを使用すると、たとえば、生のピクセル データ #{FFFFFFFF} (1x1) を含むビットマップは次のように格納されると言えます。
0305 ;生のビットマップ識別子?
0400 ; 解凍された行データの長さ
0100 ;幅
0100 ;高さ
00000000 ;不明
14000000 ; twip 単位の幅
00000000 ;不明
14000000 ; twip 単位の高さ
00 ;いくつかのフラグ - 01=画像に透明度があります

バリアント 1.:
01 ;圧縮データフラグ
0200 ;圧縮されたチャンクの長さ
7801 ;圧縮されたチャンク
0A00 ;圧縮されたチャンクの長さ
FBFFFFFF7F0009FA03FD ;圧縮チャンク
0000 ;圧縮ストリームの終わり

バリアント 2.:
00 ;データは圧縮されていません
00000000
00000000 ;不明なデータ - 常にゼロ?
FFFFFFFF ;未圧縮の ARGB データ

解凍されたデータは、ストレージ タイプが ARGB のピクセルであるため、サイズ情報があれば、そこから画像を取得するのに十分なはずです。ZLIB 圧縮 (www.zlib.net) を使用しています。Flash は圧縮レベル 1 を使用していますが、任意のレベルを使用できます (ただし、ソースは通常完全に圧縮されるため、必ずしも必要ではありません。

  1. SOUNDS は DAT ファイルに RAW 形式で保存され、DOMSoundItem の情報を使用して簡単に WAV ファイルを作成できます。
  2. 残りはまだ不明です。

残りの *.dat タイプはまだ不明です。

DAT ファイルの名前も重要です。16 進形式のチェックサム (9BB551621D3E2138FECA2F04469531D7.dat) のような名前を使用して、Flash が名前から数字を取得すると、Flash がクラッシュします。[_.-] のような文字を使用すると、コンテンツも読み込めなくなります (ただし、クラッシュはしません)。

于 2010-11-02T23:07:17.527 に答える
0

ファイルの名前自体は重要ではありませんが、もちろん、他の (通常は xml) ファイル内のファイル名への参照を見つける必要があります。

于 2012-02-17T13:57:12.843 に答える