TITLE:Flash SWF バイナリ * ファイルフォーマット [#z51cf16c] 公式の仕様書を読むとライセンス的に穢れるので注意。らしい。 - http://sswf.sourceforge.net/SWFalexref.html ([http://awm.jp/~yoya/cache/sswf.sourceforge.net/SWFalexref.html cache]) - Flash フォーマットの秘密 -- http://languagegame.org:8888/propella/42 - SWF フォーマットメモ -- http://nikq.nothing.sh/backlog/junkbox/flash.txt ** 読むの禁止 [#n716cefc] - flash_fileformat_specification.pdf ** 自作ツール [#tfb243ce] - http://awm.jp/~yoya/prog/php/flash/ - SWF Editor php extension ([[swfed]]) * SWF フォーマットのメモ [#hbc24eff] - 基本的に LittleEndian - 後は bit 処理が幾つか - タグは TLC(type,length,contents) 構造 ** header [#bcabb473] +-----------------+--------------+ |FWS or CWS| \0 | file_length | +----------+------+--------------+ <-3 bytes-><1 byte><-- 4 bytes --> *** offset=0 FWS\0 or CWS\0 の 3文字+ \0 terminate string [#ibd122ad] - CWS の時は、ファイルサイズフィールド以降が zlib 圧縮される *** offset=4 file_length [#g68789a2] - LittleEndian 4 byte ** header_movie [#qd7728b6] +-------+-----------+-----------+-----------+-----------+--- | align | x_min | x_max | y_min | y_max | .. +-------+-----------+-----------+-----------+-----------+--- <-5 bits><align bits><align bits><align bits><align bits> ---+---------------------------------+------------------+ .. | frame_rate_dec | frame_rate_int | frame_rate_count | ---+---------------------------------+------------------+ <-- 1 byte --> <-- 1 byte --> <-- 2 bytes --> *** offset=8 [#r84af899] - 先頭 5 bits は、この後に続く~のフィールドサイズ * 参考 [#ref] - swfファイルを抽出・解析・flaにデコンパイルするアプリケーション集 -- http://coliss.com/articles/software/853.html * 関連ページ [#ref] - SWF Editor for PHP ([[swfed]]) |