非圧縮 Adobe の Flash XFL 形式では、依然として多くのコンテンツが圧縮されています。これらのバイナリ *.dat ファイルの仕様を知っている人はいますか?
3859 次
2 に答える
8
*.dat ファイルには、さまざまなタイプのメディア コンテンツが保存されます。私がこれまでに言えることは、次のことです。
- 画像は、追加情報なしで JPEG として保存されます。つまり、元のイメージを取得するには *.dat の名前を変更するだけで十分です。そのようなファイルは #{FFD8} で始まります
- 画像は内部 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 を使用していますが、任意のレベルを使用できます (ただし、ソースは通常完全に圧縮されるため、必ずしも必要ではありません。
- SOUNDS は DAT ファイルに RAW 形式で保存され、DOMSoundItem の情報を使用して簡単に WAV ファイルを作成できます。
- 残りはまだ不明です。
残りの *.dat タイプはまだ不明です。
DAT ファイルの名前も重要です。16 進形式のチェックサム (9BB551621D3E2138FECA2F04469531D7.dat) のような名前を使用して、Flash が名前から数字を取得すると、Flash がクラッシュします。[_.-] のような文字を使用すると、コンテンツも読み込めなくなります (ただし、クラッシュはしません)。
于 2010-11-02T23:07:17.527 に答える
0
ファイルの名前自体は重要ではありませんが、もちろん、他の (通常は xml) ファイル内のファイル名への参照を見つける必要があります。
于 2012-02-17T13:57:12.843 に答える