The Bloggy Ramblings of Atul VarmaLast week, Scott Petersen from Adobe gave a talk at Mozilla on a toolchain he’s been creating—soon to be open-sourced—that allows C code to be targeted to the Tamarin virtual machine. Aside from being a re... 続きを読む
flash, memoふと思い立って,プログラマーから見た Flash について書くことにしました。Adobe - SWF Technology Center からダウンロードできる SWF file format specification をもとに*1。といっても,ActionScript 1.0 / 2.0 / 3.0 の違いについて説明するも... 続きを読む
_ Tamarin 近況 公開. から一年半. 最近はどうなってんのなかなーと Tamarin 周辺を見てみると, いろいろ変わっていた. 目玉は新しい JIT の仕組みである "Tamarin-Tracing". 略して TT. それと, TT に付随して入った Forth によるインタプリタ実装. 例のごとく... 続きを読む
asTamarin の abcdump.as を活用して、SWF をダンプしてみよう。abcdump を使うためには、まず、SWF の中から ABC(ActionScript ByteCode)を取り出す必要がある。前回取り上げた flash-decompiler を使ってもいいんだけど、せっかくなので、前々から試してみた... 続きを読む
asAS3 対応のデコンパイラとしては、最近 Sothink SWF Decompiler 4 というのが登場したようだけど、AS3 に押し寄せる OSS 化の波の力を借りれば、無料でデコンパイルできるんじゃね?ということで、Google Code で公開されている flash-decompiler を試してみ... 続きを読む
FlashのVMはスタックマシンなので、たとえば演算をする場合は引数をスタックに積んでから演算命令を実行します。この用途で使われるスタック(ここでは値スタックと呼ぶことにしましょう)のほかにも、FlashのVM内で使われているスタックがあります。それは、Func... 続きを読む
These two blog posts in French passed under the radar, so I am translating and posting them here. Basically, the Tamarin tools include an actionscript byte code (abc) decompiler, which can generate readable pseudocode from swf or abc files. T... 続きを読む
fladdictのTakaさんが、「AVM2にAVM1のSWFを強引にロードするやり方」というのを紹介しているので、これが一体何をしているのか勝手に解説。 まず、 ・ByteArrayの[3]番目のインデックスを9に書き換える。 ByteArrayで3番目のインデックス、つまり4バイト目の値... 続きを読む
暖かくて通学中の自転車の上で眠ってしまいそうな今日この頃ですが、昨日のエントリで凄いミスを犯していたので訂正します。 というのも、昨日のバイトコード、引数をスタックに逆順で積まなければならない所を、見事にそのまま積んでいたので、コンストラクタ... 続きを読む
今日は(日付変わってるから昨日か)、Twitter発(らしい)技術勉強会にふらりと参加してきました。レポートは誰かに期待。いやいや濃かったですよ。 俺も「バイトコードと戯れる」という謎の発表をしてきたので資料おいて置きますね。 http://lab.libspark.org... 続きを読む