Flash SWF ファイル書き換え PHP extension 2008 年 7 月 21 日 よや
Flash SWF (Flash の実行ファイル ) を PHP で 書き換える為の extension を作成しました。 SWF Editor ( 略称 swfed) という名前です。 説明の順番 Flash SWF について swfed の機能紹介 インストール方法 FAQ 、そして TODO
Macromedia Flash の実行ファイル HTML の object タグとかで指定する “ ~.swf” といった名前のファイル IE や Firefox 等のブラウザは、この ~.swf ファイルの中に含まれるコンテンツや命令 コードを読んで、表示したり音を鳴らしたり、 ボタンやマウスに反応したりする。
ヘッダ+ TLC 形式ブロックの連結 ( あとで Wiki のメモからコピー ) Bit 処理と zlib 処理が出来れば OK
Flash SWF ファイルに対して 画像を取り出せる 画像の差し替えができる ( マスク画像も対 応!) テキストボックスの文字列を取り出せる テキストボックスのの差し替えができる ( 変数 を設定すれば AcrionScript から参照できる ) スクリプトの定数抽出 ( 開発中 ) Byte code の disassemble
PHP extension の一般的なインストール方 法と同じ これだけ。 Apache 越しに使うなら graceful か stop & start が必要。 % wget –r –np % cd diary.awm.jp/~yoya/data/2008/07/18/swfed % phpize %./configure % make % cp modules/swfed.so (PHP exntension dir)
Disassemble の機能も
Extension じゃなくても いいじゃん! ビット処理を php で書くのが面倒になった ming を使わないの? SWF ファイルを load して一部のデータだけ入 れ替えをしたかった swfmill を使えば? XML に落して編集はさすがに重たそう ActionScript で画像入れ替えできるけど? ( 携帯の )Flash Lite1.1 では出来ない。
必要な部分だけ書き換えるので、無駄が ない。 ( 実装的な無駄はごめんなさい ) 仕事の分担がしやすい。 雛型 Flash を Flash 職人が作って、動的に画像 / テキストを入れ替える処理を PHP プログラマ が作るとか。 (ming だとこれが難しい ) 自分 (yoya) が作ってるので好きに機能を追 加できる。 ベクター画像入れ替えに挑戦中
ソースの Repository を決めたい。 (cvs/svn 管理されていない ) ライセンスを決めたい。 ( 少なくとも利用 を制限するようなライセンスにはしたく ない ) Windows DLL 化 音声対応 (midi とか mp3 とか入れ替えた い )
Macromedia 様すてきすぎ (SWF ファイル の構造が素直なので、 parse 処理を書くの が楽しい ) Klab 様さいこー! (PHP extension の作り 方は Klab 様のサイトで勉強しました ) あとの細かい話は以下の URL にて