Flasmとは、Flash ファイルを対象したバイトコードの生成ができるアセンブラである。Windows、Mac OS XとLinuxのOSで動作可能。FlasmでSWFファイルから、Flasm形式のアセンブラを生成するや逆アセンブルしたソースを書き換えて、再度SWFファイルに書き込むことも可能。Flashのプロジェクトファイル(拡張子”.FLA”)をなくした SWF ファイルに対して、スクリプトのコードを書き換えることもできる。Flashのスクリプトを実行する仮想マシンは、非常にオーソドックスなスタックマシンとなる。そのため、Flash でスクリプトを書いて、これがどんな形のバイトコードに変換されているのかを確かめるのにも非常に便利だ。
それで元のflaファイルを紛失してしまった場合にも利用できそうだ。抽出されるのはActionScript部分だけなので、デザインを変えるような用途には利用できない。他にもzlibを使った圧縮、解凍に対応している。
使用方法
・困ったらヘルプ
- flasm -h
以下のような利用できるコマンドについて解説が書いてある
・デコンパイル
- flasm -d flash.swf > flash.flm
・コンパイルしつつ、オリジナルのswfファイルを置き換える(オリジナルのファイルは「.$wf」の拡張子になっている)
- flasm -a flash.flm
※1 AVMで何に?Flash のスクリプト実行エンジンは、AVM(ActionScript Virtual Machine)と言って、ActionScript の仮想マシンです。この仮想マシンは、「スタックマシン」というメモリがスタックの形式になっている計算モデルで動作しています。
※2 FlashとActionScriptは何の関係?Flash では、ActionScript というスクリプト言語を用いてプログラムを埋め込むことができます。Flashファイル(拡張子”.SWF”) には、ActionScript がソースコードのまま直接埋め込まれるのではなく、ActionScript Bytecode という中間表現形式で埋め込まれています。
リソース
http://flasm.sourceforge.net/ 公式サイト
Posted on Friday, 6th February 2009 by admin
Tags: ActionScript, AVM, Flasm, アセンブル, オープンソース
Posted in Flash Project | Comments (0) | 3,682 views

(1 votes, average: 4.00 out of 5)