2009年11月 8日

swf[2]。

さっきの続き。

「3F 03」(0x033F)12番DoAction、の長さについて、から。

http://libpanda.s18.xrea.com/commentary.txtを参考に続けますー。

「14 00 00 00」は 0x0014 と解釈して良いらしいので
20byte分、値が続いている模様。

その20byte分「96 0F 00 00 74 65 73 74 00 00 41 42 43 44 45 46 47 00 3C 00」は
こんな風↓に解釈するらしい?

まずは「96」は、Action の 0x96 「Push Data」。
続いて「0F 00」は、Push する長さで 0x000F だから、15byte。

ここから素直に 15byte 持ってくると
「00 74 65 73 74 00」で「test」
「00 41 42 43 44 45 46 47 00」で「ABCDEF」を入れてるような気が。

その後「3C」が Action の 0x3C「Set Local Variable」で
続く「00」が、Action の 0x00「End」を示していて、この Push は終了。

次の2byteは「40 00」(0x0040=1 000000)は、1番ShowFrameで長さはなし。

で、実はもう1つ変数「next='abcdef';」も仕掛けてあるので、
まだ Action は続いていて。

また「3F 03」で 12番DoAction が始まって、
長さは「13 00 00 00」だから、
19byteで「96 0E 00 00 6E 65 78 74 00 00 61 62 63 64 65 66 00 3C 00」が対象。

ここも「96」は、Action の 0x96 「Push Data」で
「0E 00」は、Push する長さで 0x000E だから、14byte。

「00 6E 65 78 74 00」で「next」、
「00 61 62 63 64 65 66 00」で「abcdef」となり。

「3C」が Action の 0x3C「Set Local Variable」
「00」が Action の 0x00「End」を示していて、この Push も終了。

で、また2byteは「40 00」(0x0040=1 000000)は、
1番ShowFrameで長さはなし。

最後に「00 00」 が 0番「End」として入って終了。

ちなみに変数を設定する時に、「var test='ABCDEFG';」としたので
「3C」の「Set Local Variable」が実行されているけど、
これを「test='ABCDEFG';」にすると、
「1D」の「Set Variable」が代わりに入りましたー。

Posted by anigon at 07:36 PM

トラックバックURL:


http://anigon.net/cgi-bin/mt/mt-tb.cgi/569

「swf。」へ戻る | 「hasを作る。」へ進む

上へ戻る