




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、剖析SWF文件結(jié)構(gòu)探秘AVM運(yùn)行原理,By laan 2009.12.22 ,Why,1.明白自己在做什么,2.更底層的了解一些現(xiàn)象 堆棧不平衡、類型錯(cuò)誤 error list,3.優(yōu)化你的程序,4.加密和破解,5.重構(gòu)虛擬機(jī)如果你足夠NX的話,SWF文件結(jié)構(gòu),Just Flashplayer9+,1.FWS|CWS 2.Player Version 3.File Length 4.Frame Size(Stage size * 20) 5.Frame Rate 6.Frame Count,Head Data,1.FWS|CWS 2.Player Version 3.File Length 4
2、.Frame Size 5.Frame Rate 6.Frame Count,Tag,FileAttributes Tagas3 GPU network,Metadata Tag攜帶信息,DoABC Tag,ShowFrame Tag,EndTag 攜帶數(shù)據(jù),加密,SymbolClassTag,Protect Tag防止導(dǎo)入,ScriptLimitTag遞歸深度 腳本運(yùn)行時(shí)間,SetBackgroundColor Tag設(shè)置背景,DoABC Tag,82,72 Tag Haxe 加密,AVM2 Actionscript Virtual Machine,AVM2,1. ABC data (Act
3、ionscript Byte Code),3. 運(yùn)行原理,2. ABC數(shù)據(jù)結(jié)構(gòu),4. 指令,Class Test private var a:String; private const BIG:uint = 50; private function test():void trace(doStr(); function doStr():String return “NULL” ,ABC數(shù)據(jù)結(jié)構(gòu),AVM2運(yùn)行原理,ABC,Load,Link,Verify,Execute,Load:加載ABC數(shù)據(jù)到內(nèi)存并解析,得到所有數(shù)據(jù)單元 Script,Class,Instance,Trait,Strings
4、, ,Link:各單元之間的關(guān)系建立 比如Class與Instance, Method與MethodBody,Verify:檢查各abc數(shù)據(jù)的正確性 。要是不檢查正確性,player可以做很多壞事 分支檢查,堆棧檢查,比如一個(gè)MethodBody被鏈接到兩個(gè)Method上,Execute:開始執(zhí)行ABC數(shù)據(jù)。 官方:最后一個(gè)script結(jié)構(gòu)的init方法 Actually:文檔類所在Script結(jié)構(gòu)的init方法,Call Method,Method Body,Call,Method,0 getlocal0 1 pushscope 2 pushnull 3 coerce_s 4 setloca
5、l1 5 pushstring 7 setlocal1 8 getlocal1 9 pushstring ,程序優(yōu)化,從pccode層面來(lái)程序優(yōu)化,1.程序運(yùn)行時(shí)間的消耗在哪兒? 2.局部變量 3.Dynamic會(huì)快還是會(huì)慢? 4.Swich還是if else,是個(gè)問(wèn)題 5.Try catch的優(yōu)化,1.屬性、方法訪問(wèn)時(shí)的搜索 2.分支跳轉(zhuǎn),局部變量一般情況下是不會(huì)編譯到swf中去。所以無(wú)需考慮其長(zhǎng)度 比如 var theLengthOf Array:uint,Lookupswitch指令的特殊結(jié)構(gòu)。,動(dòng)態(tài)調(diào)用會(huì)消耗更多的搜索時(shí)間。,保存局部變量名稱,Where should we go next?,1.各自回工位,2.學(xué)習(xí)更
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)招商合同協(xié)議書
- 《健身休閑養(yǎng)生之道》課件
- 《放射性物質(zhì)監(jiān)測(cè)技術(shù)》課件
- 《亞洲基礎(chǔ)設(shè)施投資銀行》課件
- 教育中的創(chuàng)新思維
- 鄉(xiāng)村修建合同范本
- 谷雨農(nóng)事全攻略
- 健康大賽復(fù)習(xí)試題有答案
- 衛(wèi)浴店員招聘合同范本
- 營(yíng)養(yǎng)配餐設(shè)計(jì)復(fù)習(xí)試題及答案
- 2025年共青科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整版
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 統(tǒng)編版語(yǔ)文二年級(jí)下冊(cè)15古詩(shī)二首 《曉出凈慈寺送林子方》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 2025年安徽警官職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- 廣東廣東省錢幣學(xué)會(huì)招聘筆試歷年參考題庫(kù)附帶答案詳解
- 2025年福建省中職《英語(yǔ)》學(xué)業(yè)水平考試核心考點(diǎn)試題庫(kù)500題(重點(diǎn))
- 2024年江西應(yīng)用工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 人教鄂教版小學(xué)科學(xué)三年級(jí)下冊(cè)全冊(cè)教案教學(xué)設(shè)計(jì)
- 粉塵防爆安全知識(shí)最全課件
- 公辦園招聘副園長(zhǎng)面試題
評(píng)論
0/150
提交評(píng)論