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