swfでABCが実行されるまでの流れ

mzp2008-07-30

swfmillとバイナリエディタを活用していろいろ試してみた。
普通にmxmlcコンパイルするとActionScriptコンパイルしたABCはDoABCタグに含まれる。ただ、kLazyInitializeFlagが立っているので、ロードしただけでは実行されない。仕様書には「finddef」によって実行される、と書かれているが、ここ以外でfinddefに関する記述は存在しない。
いろいろ試してみたとろ、SymbolClassに書かれているクラスがロード時に実行されるらしい。ちなみにcharacter IDは1。

あと、swfmillはAS3に対応していないので、FileAttributesタグのActionScript3タグは自分で立てる必要がある。