swfの解析備考録

swfとは

スウィッフと読むそうです、そのまま「エスダブリューエフ」と呼んでました。
FlashPlayerで再生できるファイルです、「おもしろフラッシュ総合サイト」 とかで通じる年代の人には馴染みが深いかと思います。

swfを作成するソフトは沢山あるのですが、昔からあり、as2(action script 2.0)のswfを吐き出すソフトとしては
ParaFla(http://parafla.coaworks.jp/)
があります。 今回はそのサンプルを使って解析が正しく行えるかを試しました。

ActionScriptとは

Flashで画像や音声の制御を行うプログラミング言語です。
今回の解析で主に取り扱うものです。

以下がわかりやすいです。
http://www40.atwiki.jp/spellbound/pages/381.html

swf解析に使った資料、ツールまとめ

このサイトを見れば大体わかります

上記4つは作者、著者が同じ方のように見えます

使ったツール

JPEXS Free Flash Decompilerでデコンパイルが終わらない時(or メモリが溢れる時)

解析時に無限再帰に陥ってstackoverflowするのが原因のようです。
該当箇所のコードが見たいときは左上のチェックを外すと良いです(速度は低下するがエラーでフリーズしなくなる)
flash VMのコード(このツールではP-codeと呼んでいます)だけ見たいときは、デコンパイルを無効にすると早くなるかもしれません。

デコンパイル、タグの解析に使えそうなソース

  • SWF_IO(php,C)
    • 上記の資料で出てきてるので、そちらを参照
  • dumpswf.plx(perl)
    • SWF-File-0.20 というものがあるそうです。