前へ[ cron 0:00 指定の罠 ]
[ Flash SWF バイナリいじり (画像データ抽出) ]
次へ 
何とか SWF ファイルをヘッダとブロックのリストに分解する所までは出来た。
{ヘッダ}+{ムービーヘッダ}+{タグ付きブロック}+{タグ付きブロック}+....
といった形式で、
{ヘッダ}が固定長。
{ムービーヘッダ}が TWIPS の値フィールドだけ可変長。
タグ付きブロックは { tag | length | contents.... } といった形になってる。
複数バイトで表現する値が LittleEndian なのと、一部、ビット単位で
フィールドが詰まっている事が分かれば、後は素直な形式なので楽に分解できる。
ブロックの中身(contents)も興味があるものだけ解析すればOKなので、
中身を入れ替える場合は、入れ替えたブロックの length と先頭ヘッダにある
ファイルサイズの2箇所を更新すれば大丈夫かな。きっと。
長くなるので詳細はこちら↓
http://diary.awm.jp/~yoya/?2008011&to=200801171#200801171
さて、明日はコードを整理しつつ画像の入れ替えに挑戦しようかな。