最近、SWFファイルを解析してそのSWF内に含まれるクラスの一覧を取得する方法を考えていました。ちょっとGoogle先生で調べていたところ、まさしく「SWF内のクラスを抽出するライブラリ」そのものを公開しているblogを見つけました! Swf Class Explorer for AS3 公開されている方法は、SWFのバイナリを解析して、クラス情報を抽出するという方法をとっています。SWCファイルとライブラリの使い方のサンプルだけでなく、ソースコードそのものも公開されています!こういうものをサクッと公開できるセンスには脱帽です・・・。 私なりにサンプルを書いてみました。 package utils.tool { import com.flassari.swfclassexplorer.SwfClassExplorer; import flash.display.Loader; import flash.display.LoaderInfo; import flash.events.Event; import flash.system.LoaderContext; import flash.utils.ByteArray; /** * ... * @author Duke */ public class SWFLoadHelper { public static function loadClasses(swf:ByteArray, start:Function, inLoop:Function, finish:Function):void { var complete:Function = function complete(e:Event):void { start(); var loaderInfo:LoaderInfo = (e.currentTarget) as LoaderInfo; var classNames:Array = SwfClassExplorer.getClasses(swf); loaderInfo.removeEventListener(Event.COMPLETE, complete); for each(var className:String...
IT関連の技術やプログラミングを中心に記事を書いています。ハードウェアも好きなので、日々のちょっとしたお役立ち情報も投稿しています。