Open-Source Flex SDK project 提供了一個命令列的小工具,稱為:「swfdump」,我們可以用它來反組譯包含ActionScript 3.0的SWF檔案,不過要利用此工具之前~ 必須先做一些相關的處理。
swfdump建置步驟
Step 1. 請設置好你的Apache Ant,並設好「Path」環境變數。
Step 2. 確認你的「JAVA_HOME」環境變數已經指到你的JDK目錄夾位置。
Step 3. 請下載Flex SDK的原始碼,可參考「Flex 3 is Now Open Source !!」。
Step 4. 切換工作目錄至Flex SDK原始碼中的「trunk\modules\swfutils」,並輸入「ant」來編譯swfutils底下所有的Java程式並打包。
cd c:\flexsrc\trunk\modules\swfutils ant
Step 5. 切換至「trunk\bin」,然後進行反組譯「helloworld.swf」。
(這裡我們用Flash CS3開發一個含「trace("Hello World");」的測試檔案)
cd c:\flexsrc\trunk\bin swfdump -abc helloworld.swf
接著你就可以看到反組譯後的結果了~
…………………
01 02 01 0A 0B 0A function helloworld_fla:MainTimeline::helloworld_fla:frame1():
maxStack:2 localCount:1 initScopeDepth:10 maxScopeDepth:11
D0 getlocal0
30 pushscope
5D 04 findpropstrict :trace
2C 09 pushstring "Hello World"
4F 04 01 callpropvoid :trace (1)
47 returnvoid
0 Extras
0 Traits Entries
02 03 01 0A 0B 0F function helloworld_fla:MainTimeline::helloworld_fla:MainTimeline():
maxStack:3 localCount:1 initScopeDepth:10 maxScopeDepth:11
D0 getlocal0
30 pushscope
D0 getlocal0
49 00 constructsuper (0)
5D 05 findpropstrict :addFrameScript
24 00 pushbyte 0
60 03 getlex helloworld_fla:frame1
4F 05 02 callpropvoid :addFrameScript (2)
47 returnvoid
0 Extras
0 Traits Entries
…………………
Good luck! ^^
參考資源

哇~還在想說AS3.0不會反組譯怎麼辦 學長果然超猛(大拇指)
2008-02-26 00:15:58
ㄎㄎ~ 一起來研究研究吧~ ^^
2008-02-26 10:24:02